{"id":19739797,"url":"https://github.com/stpfeffer/todo-list","last_synced_at":"2025-08-23T05:05:30.224Z","repository":{"id":252316395,"uuid":"840069962","full_name":"StPfeffer/todo-list","owner":"StPfeffer","description":"A simple To Do application written with Typescript and Next.js ","archived":false,"fork":false,"pushed_at":"2024-08-23T01:38:07.000Z","size":101,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-10T19:46:15.496Z","etag":null,"topics":["mongodb","nextjs","react","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StPfeffer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-08T23:05:22.000Z","updated_at":"2024-08-23T01:38:08.000Z","dependencies_parsed_at":"2024-08-09T01:16:40.202Z","dependency_job_id":"242bc521-dedc-4492-97eb-141672285f7d","html_url":"https://github.com/StPfeffer/todo-list","commit_stats":null,"previous_names":["stpfeffer/todo-list"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StPfeffer%2Ftodo-list","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StPfeffer%2Ftodo-list/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StPfeffer%2Ftodo-list/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StPfeffer%2Ftodo-list/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StPfeffer","download_url":"https://codeload.github.com/StPfeffer/todo-list/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241068269,"owners_count":19903998,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mongodb","nextjs","react","typescript"],"created_at":"2024-11-12T01:18:28.057Z","updated_at":"2025-02-27T22:28:12.526Z","avatar_url":"https://github.com/StPfeffer.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ToDo Application\n\nA simple yet powerful ToDo application that helps you manage your tasks efficiently. Whether you need to keep track of personal chores, work tasks, or anything in between, this application is designed to keep you organized.\n\n## Table of Contents\n\n- [Features](#features)\n- [Getting Started](#getting-started)\n  - [Prerequisites](#prerequisites)\n  - [Installation](#installation)\n  - [Docker Setup](#docker-setup)\n- [Usage](#usage)\n  - [Running the Application](#running-the-application)\n- [Technologies Used](#technologies-used)\n- [Project Structure](#project-structure)\n- [Contributing](#contributing)\n- [License](#license)\n- [Contact](#contact)\n\n## Features\n\n- **Task Management**: Create, update, delete, and view tasks.\n- **Due Dates**: Assign due dates to tasks and get reminders.\n- **Categories**: Organize tasks by categories (e.g., Work, Personal).\n- **Priorities**: Set task priorities (Low, Medium, High).\n- **Search \u0026 Filter**: Easily search and filter tasks.\n- **Responsive Design**: Fully responsive UI for mobile and desktop.\n- **Authentication**: Secure user login and registration.\n- **Notifications**: Get email and push notifications for due tasks.\n- **Dark Mode**: Toggle between light and dark themes.\n\n## Getting Started\n\n### Prerequisites\n\nTo run this application, you will need the following installed on your machine:\n\n- [Node.js](https://nodejs.org/) (v14.x or later)\n- [npm](https://www.npmjs.com/) (v6.x or later)\n- [MongoDB](https://www.mongodb.com/) (for local database setup)\n\n### Installation\n\n1. **Clone the repository:**\n\n   ```bash\n   git clone https://github.com/your-username/todo-app.git\n   cd todo-app\n   ```\n\n2. **Install dependencies:**\n\n   ```bash\n   npm install\n   ```\n\n3. **Set up environment variables:**\n\n   Create a `.env.local` file in the root of the project and add the following:\n\n   ```plaintext\n   NODE_ENV=development\n   PORT=3000\n   MONGODB_URI=mongodb://localhost:27017/todoapp\n   JWT_SECRET=your_jwt_secret\n   ```\n\n4. **Set up the database:**\n\n   Make sure MongoDB is running locally, or update the `MONGODB_URI` in the `.env.local` file to point to your MongoDB instance.\n\n### Running the Application\n\nTo start the application in development mode:\n\n```bash\nnpm run dev\n```\n\nThe application will be available at `http://localhost:3000`.\n\n## Docker Setup\n\nTo run the application using Docker Compose:\n\nBuild and start the Docker containers:\n\n```bash\ndocker-compose up --build\n```\n\nAccess the application:\n\nThe application will be available at http://localhost:3000.\n\nThe `docker-compose.yml` file sets up the following services:\n\nWeb: The Next.js application running on Node.js.\nMongoDB: The MongoDB database.\n\n## Technologies Used\n\n- **Frontend**: React.js, Next.js, TailwindCSS\n- **Backend**: Node.js, Axios\n- **Database**: MongoDB\n- **Language**: TypeScript\n- **Authentication**: JWT (JSON Web Tokens)\n\n## Project Structure\n\n```plaintext\n├── src\n│   ├── actions        # Axios calls for interacting with the backend API\n│   ├── app            # Reusable React components\n│   ├── components     # Reusable React components\n│   ├── config         # Next.js pages and API routes\n│   ├── db             # Database setup and connection logic\n│   │   └── models     # MongoDB models\n│   ├── services       # Business logic and services\n│   ├── styles         # TailwindCSS styles and global CSS\n│   ├── types          # TypeScript types and interfaces\n│   └── utils          # Utility functions\n├── public             # Static files (images, icons, etc.)\n├── tests              # Test files\n├── next.config.js     # Next.js configuration\n├── tailwind.config.js # TailwindCSS configuration\n├── tsconfig.json      # TypeScript configuration\n├── package.json\n└── README.md\n```\n\n## Contributing\n\nWe welcome contributions to the ToDo application! To contribute:\n\n1. Fork the repository.\n2. Create a new branch (`git checkout -b feature-branch`).\n3. Make your changes and commit them (`git commit -am 'Add new feature'`).\n4. Push the branch (`git push origin feature-branch`).\n5. Open a pull request.\n\nPlease refer to the [CONTRIBUTING.md](docs/CONTRIBUTING.md) for more details.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstpfeffer%2Ftodo-list","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstpfeffer%2Ftodo-list","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstpfeffer%2Ftodo-list/lists"}