Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lordofsunshine/todo-list
TodoList open source, login via Google/registration, MongoDB database, the ability to set priorities, as well as automatic sorting by priority.
https://github.com/lordofsunshine/todo-list
todo todoapp todolist
Last synced: about 12 hours ago
JSON representation
TodoList open source, login via Google/registration, MongoDB database, the ability to set priorities, as well as automatic sorting by priority.
- Host: GitHub
- URL: https://github.com/lordofsunshine/todo-list
- Owner: lordofsunshine
- License: mit
- Created: 2024-08-08T14:07:13.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-08-10T14:23:20.000Z (6 months ago)
- Last Synced: 2024-08-10T17:10:15.082Z (6 months ago)
- Topics: todo, todoapp, todolist
- Language: JavaScript
- Homepage: https://todo-sun.glitch.me/
- Size: 104 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ToDo List
## Description
This is a task management application (ToDo) built using **Node.js, Express, and MongoDB**. It provides users with the ability to add, edit, and delete tasks, as well as manage their priorities. It includes user authentication and registration, as well as Google sign-in functionality.
## Key Features
- **User Authentication and Registration:** Users can register, log in, and log out.
- **Google Sign-In:** Supports authentication via Google for user convenience.
- **Task Management:** Allows adding new tasks, editing existing ones, deleting tasks, and changing their order. Tasks can be assigned priorities: High, Medium, and Low.
- **Data Storage:** Utilizes MongoDB to store user and task information.
- **Markdown Parsing:** Tasks can include descriptions in Markdown format, which is converted to HTML for better display.## Preview
## Home Page## Login Page
## Register Page
## Panel Page
## Preview Task
## Dropdown
## Installation and Setup
1. **Clone the repository:**
```bash
git clone https://github.com/lordofsunshine/todo-list.git
cd todo-list
```
2. Install dependencies:
```bash
npm install
```3. Create a .env file:
```bash
MONGO_URI=mongodb+srv://:@cluster0.mongodb.net/?retryWrites=true&w=majority
SESSION_SECRET=your_session_secret
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GOOGLE_CALLBACK_URL=http://localhost:3000/auth/google/callback
PORT=3000 (optional)
```4. Start the server:
```bash
npm start
```5. Open the application in your browser:
Navigate to http://localhost:3000 in your web browser.# Common Issues and Solutions
- **Missing .env file or incorrect environment variable values:** Ensure that all environment variables are defined in the `.env` file and contain correct values. Check that the MongoDB URI and Google API keys are accurate.
- **Database connection errors:** Verify that the MongoDB URI is correct and that your database is accessible. Check network settings and permissions.
- **Google Authentication errors:** Ensure that `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, and `GOOGLE_CALLBACK_URL` are correctly configured and match your project settings in the Google Cloud Console.
- **Server startup errors:** If the server fails to start, check that all dependencies are correctly installed and that you are using a supported version of Node.js.## Project Development
This project will continue to evolve. New features, UI improvements, and security enhancements are planned. Contributions and suggestions are welcome!
## License
MIT License