{"id":22194156,"url":"https://github.com/filiprokita/to-do-app","last_synced_at":"2026-04-29T23:05:30.237Z","repository":{"id":251621045,"uuid":"837920730","full_name":"FilipRokita/to-do-app","owner":"FilipRokita","description":"A simple web-based task management tool built with Flask and front-end technologies. Features include adding, viewing, marking as done, deleting tasks, and filtering tasks by title or date. This project demonstrates a practical use of Flask for backend operations and vanilla JavaScript for dynamic front-end interactions.","archived":false,"fork":false,"pushed_at":"2024-08-04T14:08:07.000Z","size":88,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-29T17:44:20.290Z","etag":null,"topics":["api","backend-development","crud-operations","css","flask","frontend-development","html","javascript","javascript-fetch-api","open-source","project-management","python","task-filtering","task-manager","task-scheduling","task-tracking","to-do-list","user-interface","web-application","web-development"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FilipRokita.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-04T12:48:42.000Z","updated_at":"2024-08-04T14:08:10.000Z","dependencies_parsed_at":"2024-08-04T16:00:15.339Z","dependency_job_id":"20890f2b-e99b-41d7-8370-ea58a1df3842","html_url":"https://github.com/FilipRokita/to-do-app","commit_stats":null,"previous_names":["filiprokita/to-do-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FilipRokita/to-do-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FilipRokita%2Fto-do-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FilipRokita%2Fto-do-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FilipRokita%2Fto-do-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FilipRokita%2Fto-do-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FilipRokita","download_url":"https://codeload.github.com/FilipRokita/to-do-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FilipRokita%2Fto-do-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279014289,"owners_count":26085489,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["api","backend-development","crud-operations","css","flask","frontend-development","html","javascript","javascript-fetch-api","open-source","project-management","python","task-filtering","task-manager","task-scheduling","task-tracking","to-do-list","user-interface","web-application","web-development"],"created_at":"2024-12-02T13:11:41.726Z","updated_at":"2025-10-13T08:17:56.225Z","avatar_url":"https://github.com/FilipRokita.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Task Manager Web Application\n\nA simple task management application allowing users to add, view, mark as done, and delete tasks. The application supports filtering tasks and viewing tasks for today.\n\n## Screenshot\n\n![Screenshot of the Task Manager](images/screenshot.png)\n\nThis screenshot shows how the Task Manager Web Application looks when running. \n\n## Features\n\n- **View Tasks**: Display tasks based on their completion status.\n- **Add Tasks**: Add new tasks with title, description, and due date.\n- **Mark Tasks as Done/Incompleted**: Toggle the status of tasks.\n- **Delete Tasks**: Remove tasks from the list.\n- **Filter Tasks**: Search and filter tasks by title.\n- **Today's Tasks**: View tasks specifically for the current date.\n\n## Technologies Used\n\n- **Frontend**: HTML, CSS, JavaScript\n- **Backend**: Flask (Python)\n- **API**: Fetch API (for communication between frontend and backend)\n\n## File Structure\n\n```\nto-do-app/\n├── static/\n│ ├── css/\n│ │ └── styles.css\n│ └── js/\n│ └── scripts.js\n├── templates/\n│ └── index.html\n├── app.py\n└── tasks.json\n```\n\n- **`static/css/styles.css`**: CSS file for styling the application.\n- **`static/js/scripts.js`**: JavaScript file for handling application logic.\n- **`templates/index.html`**: The main HTML file for the application.\n- **`app.py`**: Flask application code.\n- **`tasks.json`**: JSON file for storing tasks.\n\n## Installation and Usage\n\n### Backend Setup\n\n1. **Clone the repository:**\n\n   ```bash\n   git clone https://github.com/your-username/task-manager.git\n   cd task-manager\n   ```\n\n2. **Set up a virtual environment and install dependencies:**\n\n   ```bash\n   python -m venv venv\n   source venv/bin/activate  # On Windows, use `venv\\Scripts\\activate`\n   pip install Flask\n   ```\n\n3. **Run the Flask server:**\n\n   ```bash\n   python app.py\n   ```\n   The server will start and listen on http://127.0.0.1:5000/.\n\n### Frontend Setup\n\n1. **Open the index.html file in a web browser:**\n\n   You can directly open **`templates/index.html`** in a browser or serve it using a web server.\n\n## API Endpoints\n\n- **`GET /tasks`**: Returns a list of all tasks.\n- **`GET /task/\u003cint:task_id\u003e`**: Returns details of a specific task.\n- **`POST /task`**: Creates a new task. Requires a JSON body with title, description date, and done properties.\n- **`DELETE /task/\u003cint:task_id\u003e`**: Deletes a task by ID.\n- **`PUT /task/\u003cint:task_id\u003e`**: Updates a task by ID. Requires a JSON body with updated task properties.\n\n## Example Data\n\nThe **`tasks.json`** file includes tasks with the following structure:\n\n```json\n[\n    {\n        \"id\": 1,\n        \"title\": \"Buy milk\",\n        \"description\": \"Buy milk at the store\",\n        \"date\": \"2024-08-04\",\n        \"done\": true\n    },\n    {\n        \"id\": 2,\n        \"title\": \"Meeting with John\",\n        \"description\": \"Project meeting\",\n        \"date\": \"2024-08-04\",\n        \"done\": false\n    },\n    {\n        \"id\": 3,\n        \"title\": \"Visit the library\",\n        \"description\": \"Return books to the library\",\n        \"date\": \"2024-08-05\"\n    }\n]\n```\n\n## Usage\n\n- **Add Task**: Enter the task title, description, and due date in the form and click \"Add\".\n- **View Tasks**: Tasks are displayed in the sidebar under \"Tasks not completed\" and \"Tasks completed\" sections.\n- **Toggle Completed Tasks**: Click on the link to show or hide completed tasks.\n- **Search Tasks**: Type in the search box to filter tasks by title.\n- **View Today's Tasks**: View tasks scheduled for the current date in the main section.\n- **Task Details**: Click on any task to view its details and options to delete or mark it as done.\n\n## Contributing\n\nContributions are welcome! Please submit a pull request with any improvements or bug fixes.\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%2Ffiliprokita%2Fto-do-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffiliprokita%2Fto-do-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffiliprokita%2Fto-do-app/lists"}