https://github.com/pranavnikam-15/taskspark-todoapp
TaskSpark is a full-stack Todo application built with Node.js, Express, and MySQL, and styled using Bootstrap for a clean, responsive UI. Itβs designed with a backend-first approach, focusing on data handling, modular routes, controllers and real-time email notifications using Nodemailer.
https://github.com/pranavnikam-15/taskspark-todoapp
bootstrap ejs-templates express-js mysql-database nodejs todo-app todolist todolist-application
Last synced: 3 months ago
JSON representation
TaskSpark is a full-stack Todo application built with Node.js, Express, and MySQL, and styled using Bootstrap for a clean, responsive UI. Itβs designed with a backend-first approach, focusing on data handling, modular routes, controllers and real-time email notifications using Nodemailer.
- Host: GitHub
- URL: https://github.com/pranavnikam-15/taskspark-todoapp
- Owner: PranavNikam-15
- License: mit
- Created: 2025-06-30T14:42:39.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-07-04T20:14:13.000Z (3 months ago)
- Last Synced: 2025-07-04T21:27:22.009Z (3 months ago)
- Topics: bootstrap, ejs-templates, express-js, mysql-database, nodejs, todo-app, todolist, todolist-application
- Language: EJS
- Homepage:
- Size: 1.94 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# π TaskSpark - Your Personal Todo Assistant
**TaskSpark** is a sleek and modern Todo Web Application built with **Node.js**, **Express**, **MySQL**, and **Bootstrap**.
It helps users manage their tasks efficiently with features like email notifications, task categorization, sub-tasks, completion tracking, and more.---
## π Features
- β Create, Edit, and Delete Tasks
- π© Email Notification on Task Creation
- π Search Functionality
- β Task Completion Toggle
- π Completed Tasks View
- π Responsive UI with Bootstrap---
## π οΈ Tech Stack
| Layer | Technology |
| ------------ | ---------------------------------- |
| Frontend | HTML, EJS, Bootstrap 5, JS |
| Backend | Node.js, Express.js |
| Database | MySQL |
| Email Service| Nodemailer + Gmail App Password |---
## π Installation & Setup Guide
> Prerequisites :
- Node.js, MySQL installed and running locally.### 1. Clone the Repository :
```bash
git clone https://github.com/PranavNikam-15/TaskSpark-TodoApp.git
cd TaskSpark-TodoApp
```### 2. Install Dependencies :
```bash
npm install express mysql ejs method-override nodemailer dotenv body-parser
```### 3. Configure Database :
- Start MySQL server.
- Open MySQL CLI or any GUI (MySQL Workbench).
- Run the following SQL to create the database and table :```sql
CREATE DATABASE todoapp;USE todoapp;
CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
description TEXT,
start_date DATE,
due_date DATE,
is_completed BOOLEAN DEFAULT FALSE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FULLTEXT (title, description)
);
```### 4. Configure Environment Variables :
```bash
touch .env
``````
PORT=3000# MySQL Credentials
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_mysql_password
DB_NAME=todoapp# Email Credentials (Use App Passwords, not real password)
EMAIL_USER=youremail@gmail.com
EMAIL_PASS=your_app_password
EMAIL_RECIPIENT=recipient@gmail.com
```### 5. Generate Gmail App Password :
> Ensure that 2-Step Verification is enabled on your Google account.
If not, go to: https://myaccount.google.com/security> Go to your Google Account App Passwords page
https://myaccount.google.com/apppasswords
(You may be prompted to log in again)> Under "Select the app", choose:
App β Mail
Device β Other (Custom name) β Type: TaskSpark (or anything)
Click "Generate"
Copy the 16-character app password shown## πΈ Screenshots
### π Task List View
### βοΈ Completed Tasks
### βΉοΈ About Page
### π Add Task Page
### π Search Task Page
---
## π License
This project is licensed under the [MIT License](LICENSE).