Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

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
Preview

## Login Page
Preview

## Register Page
Preview

## Panel Page
Preview

## Preview Task
Preview

## Dropdown
Preview

## 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