mirror of
https://github.com/friuns2/BlackFriday-GPTs-Prompts.git
synced 2026-04-30 22:13:55 +07:00
460 lines
7.9 KiB
Markdown
460 lines
7.9 KiB
Markdown
|
|
[]()
|
|
# JAVASCRIPT GENERATOR
|
|
This is a code tool that generates javascript code!
|
|
|
|
# Prompt
|
|
|
|
```
|
|
You are a javascript code generator bot that will either help, teach or generate code for the user.
|
|
|
|
Create a JavaScript program for a task tracker with the following features:
|
|
|
|
1. Add a Task: Allow users to add a new task with a title, description, due date, and priority (low, medium, high).
|
|
|
|
2. List Tasks: Enable users to list all tasks, displaying the title, description, due date, and priority.
|
|
|
|
3. Mark Task as Complete: Allow users to mark a task as complete. Completed tasks should be distinguishable from incomplete tasks when listing them.
|
|
|
|
4. Delete Task: Implement the functionality to delete a task.
|
|
|
|
5. Search and Filter: Add a feature to search for tasks by keywords in the title or description and filter tasks based on their due date. Provide options for users to list tasks matching specific criteria or those due within a certain time frame.
|
|
|
|
6. Sorting: Allow users to sort tasks based on their priority level.
|
|
|
|
7. Data Validation: Implement robust data validation to ensure user input adheres to the expected format and ranges (e.g., valid date format, valid priority level). Provide informative error messages for invalid inputs.
|
|
|
|
8. Statistics: Display statistics about the tasks, including the total number of tasks, completed tasks, and tasks due within the next week.
|
|
|
|
9. User Interface: Create a user-friendly interface for users to interact with the program, whether in a web browser or on the command line.
|
|
|
|
10. Error Handling: Implement comprehensive error handling for unexpected situations, such as data storage errors or incorrect user inputs.
|
|
|
|
11. Data Persistence: Implement local storage or another data storage mechanism to persist tasks between sessions.
|
|
|
|
12. Documentation: Provide clear and concise documentation for the program, including instructions on how to use the features and an overview of the program's architecture.
|
|
|
|
13. Code Comments and Structure: Ensure well-structured, modular code with detailed comments for readability and maintainability.
|
|
|
|
Generate the complete JavaScript program, including these features, following JavaScript best practices. Consider using appropriate libraries or frameworks for user interface development if applicable. Make the program user-friendly and robust for various use cases.
|
|
|
|
```
|
|
|
|
## Conversation
|
|
|
|
**ASSISTANT**: Hello! I am a javascript generator bot, what would you like me to make?
|
|
**USER**: Create me a typing game
|
|
**ASSISTANT**: Sure! Here's a simple JavaScript program for a typing game:
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
// Typing Game
|
|
|
|
|
|
|
|
// Array of words for the game
|
|
|
|
const words = [
|
|
|
|
'javascript',
|
|
|
|
'developer',
|
|
|
|
'programming',
|
|
|
|
'coding',
|
|
|
|
'computer',
|
|
|
|
'keyboard',
|
|
|
|
'function',
|
|
|
|
'variable',
|
|
|
|
'array',
|
|
|
|
'object',
|
|
|
|
];
|
|
|
|
|
|
|
|
let score = 0; // Player's score
|
|
|
|
let time = 10; // Game time in seconds
|
|
|
|
|
|
|
|
// DOM elements
|
|
|
|
const wordInput = document.querySelector('#word-input');
|
|
|
|
const currentWord = document.querySelector('#current-word');
|
|
|
|
const scoreDisplay = document.querySelector('#score');
|
|
|
|
const timeDisplay = document.querySelector('#time');
|
|
|
|
const message = document.querySelector('#message');
|
|
|
|
const seconds = document.querySelector('#seconds');
|
|
|
|
|
|
|
|
// Initialize game
|
|
|
|
function init() {
|
|
|
|
// Load a random word from the words array
|
|
|
|
showWord(words);
|
|
|
|
|
|
|
|
// Start matching on word input
|
|
|
|
wordInput.addEventListener('input', startMatch);
|
|
|
|
|
|
|
|
// Countdown timer
|
|
|
|
setInterval(countdown, 1000);
|
|
|
|
|
|
|
|
// Check game status
|
|
|
|
setInterval(checkStatus, 50);
|
|
|
|
}
|
|
|
|
|
|
|
|
// Load random word from array
|
|
|
|
function showWord(words) {
|
|
|
|
// Generate a random index
|
|
|
|
const randIndex = Math.floor(Math.random() * words.length);
|
|
|
|
|
|
|
|
// Output the current word
|
|
|
|
currentWord.innerHTML = words[randIndex];
|
|
|
|
}
|
|
|
|
|
|
|
|
// Start matching
|
|
|
|
function startMatch() {
|
|
|
|
if (matchWords()) {
|
|
|
|
// Increment score
|
|
|
|
score++;
|
|
|
|
scoreDisplay.innerHTML = score;
|
|
|
|
|
|
|
|
// Clear input
|
|
|
|
wordInput.value = '';
|
|
|
|
|
|
|
|
// Load a new word
|
|
|
|
showWord(words);
|
|
|
|
|
|
|
|
// Change message
|
|
|
|
message.innerHTML = 'Correct!';
|
|
|
|
message.style.color = 'green';
|
|
|
|
} else {
|
|
|
|
// Change message
|
|
|
|
message.innerHTML = '';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Match current word to input
|
|
|
|
function matchWords() {
|
|
|
|
if (wordInput.value === currentWord.innerHTML) {
|
|
|
|
return true;
|
|
|
|
} else {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Countdown timer
|
|
|
|
function countdown() {
|
|
|
|
// Make sure time is not run out
|
|
|
|
if (time > 0) {
|
|
|
|
// Decrement time
|
|
|
|
time--;
|
|
|
|
} else if (time === 0) {
|
|
|
|
// Game is over
|
|
|
|
message.innerHTML = 'Game Over';
|
|
|
|
message.style.color = 'red';
|
|
|
|
score = -1;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Display time
|
|
|
|
timeDisplay.innerHTML = time;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Check game status
|
|
|
|
function checkStatus() {
|
|
|
|
if (score === -1) {
|
|
|
|
// Disable input
|
|
|
|
wordInput.disabled = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Start the game
|
|
|
|
init();
|
|
|
|
```
|
|
|
|
|
|
|
|
This program creates a simple typing game where the player needs to type the displayed word correctly to score points. The game has a timer and updates the score and message accordingly. It uses JavaScript's DOM manipulation to interact with the HTML elements on the page.
|
|
|
|
|
|
|
|
You can customize the list of words in the `words` array to add more words for the game. Feel free to enhance the game further by adding features like levels, difficulty settings, or additional game mechanics.
|
|
**USER**: Create me a database
|
|
**ASSISTANT**: To create a database in JavaScript, you can use a database management system like SQLite or MySQL. Here's an example using SQLite:
|
|
|
|
|
|
|
|
1. Install SQLite: Download and install SQLite from the official website (https://www.sqlite.org/download.html) based on your operating system.
|
|
|
|
|
|
|
|
2. Install SQLite3 Node.js package: Open your project directory in the command line and run the following command to install the SQLite3 package:
|
|
|
|
|
|
|
|
```
|
|
|
|
npm install sqlite3
|
|
|
|
```
|
|
|
|
|
|
|
|
3. Create a JavaScript file, e.g., `database.js`, and require the SQLite3 module:
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
const sqlite3 = require('sqlite3').verbose();
|
|
|
|
```
|
|
|
|
|
|
|
|
4. Connect to the database:
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
const db = new sqlite3.Database(':memory:'); // Creates an in-memory database
|
|
|
|
```
|
|
|
|
|
|
|
|
5. Create a table:
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
db.run(`
|
|
|
|
CREATE TABLE IF NOT EXISTS Tasks (
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
|
|
title TEXT,
|
|
|
|
description TEXT,
|
|
|
|
dueDate TEXT,
|
|
|
|
priority TEXT,
|
|
|
|
isComplete INTEGER DEFAULT 0
|
|
|
|
)
|
|
|
|
`);
|
|
|
|
```
|
|
|
|
|
|
|
|
This code creates a table named `Tasks` with columns for `id`, `title`, `description`, `dueDate`, `priority`, and `isComplete`. The `id` column is the primary key and will auto-increment. The `isComplete` column is set to 0 by default, indicating a task is incomplete.
|
|
|
|
|
|
|
|
6. Insert data into the table:
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
const task = {
|
|
|
|
title: 'Task 1',
|
|
|
|
description: 'Description of Task 1',
|
|
|
|
dueDate: '2021-12-31',
|
|
|
|
priority: 'high',
|
|
|
|
};
|
|
|
|
|
|
|
|
db.run(
|
|
|
|
'INSERT INTO Tasks (title, description, dueDate, priority) VALUES (?, ?, ?, ?)',
|
|
|
|
[task.title, task.description, task.dueDate, task.priority],
|
|
|
|
function (err) {
|
|
|
|
if (err) {
|
|
|
|
console.error(err.message);
|
|
|
|
} else {
|
|
|
|
console.log(`Task ${this.lastID} inserted`);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
);
|
|
|
|
```
|
|
|
|
|
|
|
|
This code inserts a new task into the `Tasks` table.
|
|
|
|
|
|
|
|
7. Retrieve data from the table:
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
db.all('SELECT * FROM Tasks', [], (err, rows) => {
|
|
|
|
if (err) {
|
|
|
|
console.error(err.message);
|
|
|
|
} else {
|
|
|
|
rows.forEach(row => {
|
|
|
|
console.log(row);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
```
|
|
|
|
|
|
|
|
This code fetches all rows from the `Tasks` table and prints them to the console.
|
|
|
|
|
|
|
|
8. Close the database connection:
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
db.close();
|
|
|
|
```
|
|
|
|
|
|
|
|
This code closes the connection to the SQLite database.
|
|
|
|
|
|
|
|
Remember to modify the code according to your specific requirements and use cases. You can also use a different database management system or an ORM (Object-Relational Mapping) library like Sequelize or Knex.js for more advanced database operations.
|
|
|
|
|