Skip to content

timbotkim/Smart-ToDo-List

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Smart To-Do List Application

Overview

The Smart To-Do List Application helps users manage their tasks efficiently. The application includes features like task prioritization, due date reminders, and the ability to categorize tasks. It also incorporates machine learning to suggest task priorities based on user behavior.

Key Features

  • User Authentication:
    • Register and log in using email and password.
    • JWT-based authentication for secure access to the application.
  • Task Management:
    • Create, read, update, and delete tasks.
    • Assign due dates and priorities to tasks.
    • Categorize tasks into different groups (e.g., Work, Personal, Shopping).
  • Task Reminders:
    • Send email or push notifications to remind users of upcoming due dates.
  • Smart Suggestions:
    • Use machine learning to suggest task priorities based on user habits and past behavior.
  • Task Filtering and Sorting:
    • Filter tasks by category, due date, and priority.
    • Sort tasks by due date and priority.
  • Responsive UI:
    • Build a user-friendly interface using React that works well on both desktop and mobile devices.

Tech Stack

  • Frontend: React, Bootstrap or Material-UI
  • Backend: Node.js, Express
  • Database: MongoDB
  • Authentication: JWT
  • Notifications: Nodemailer (for emails) or Firebase Cloud Messaging (for push notifications)
  • Machine Learning: TensorFlow.js or a similar library for implementing smart suggestions

Project Structure

Smart-ToDo-List/ ├── backend/ │ ├── node_modules/ │ ├── src/ │ │ ├── controllers/ │ │ ├── models/ │ │ ├── routes/ │ │ └── config.js │ ├── .env │ ├── package.json │ ├── package-lock.json │ └── app.js ├── frontend/ │ ├── node_modules/ │ ├── public/ │ ├── src/ │ │ ├── components/ │ │ ├── pages/ │ │ ├── services/ │ │ ├── App.js │ │ ├── index.js │ │ ├── index.css │ ├── .env │ ├── package.json │ ├── package-lock.json │ └── ... ├── .gitignore └── README.md

Configuration

Backend

  1. Create a .env file in the backend directory and add the following:

    JWT_SECRET=your_jwt_secret
    MONGODB_URI=your_mongodb_connection_string
    EMAIL_USER=your_email_username
    EMAIL_PASSWORD=your_email_password
    
  2. Create a config.js file in the backend/src directory and add the following:

    module.exports = {
        jwtSecret: process.env.JWT_SECRET,
        emailUser: process.env.EMAIL_USER,
        emailPassword: process.env.EMAIL_PASSWORD,
        mongodbUri: process.env.MONGODB_URI
    };

Frontend

  1. Create a .env file in the frontend directory and add any necessary configuration variables (if applicable).

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/Smart-ToDo-List.git
    cd Smart-ToDo-List
  2. Install dependencies for the backend:

    cd backend
    npm install
  3. Install dependencies for the frontend:

    cd ../frontend
    npm install

Running the Application

  1. Start the backend server:

    cd backend
    npm run dev
  2. Start the frontend development server:

    cd ../frontend
    npm start

Testing and Verifying

  1. Register a New User:

    • Ensure the registration works and stores the new user in the database.
  2. Log In with the Registered User:

    • Ensure the login works and returns a JWT token.
  3. Add, Edit, Delete, and Complete Tasks:

    • Verify that all task management functionalities work as expected.
  4. Filter and Sort Tasks:

    • Test the filtering and sorting functionalities to ensure they work correctly.
  5. Update User Profile:

    • Test the profile update functionality to ensure it updates the user information correctly.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Contact

For any inquiries or feedback, please contact [email protected].

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published