{"id":31011959,"url":"https://github.com/keneandita/task-manager-api","last_synced_at":"2026-04-13T20:32:07.535Z","repository":{"id":311457478,"uuid":"1043745205","full_name":"KeneanDita/Task-manager-API","owner":"KeneanDita","description":"Task Manager API is a modular Flask REST API that allows you to manage tasks efficiently. It supports full CRUD operations with tasks having a title, description, and completion status. Built with SQLite, this project is easy to set up, extend, and use for learning or small projects.","archived":false,"fork":false,"pushed_at":"2026-03-14T11:22:40.000Z","size":155,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-14T22:18:39.958Z","etag":null,"topics":["api-management","crud","docker","flask","rest-api","sql-alchemy"],"latest_commit_sha":null,"homepage":"","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KeneanDita.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2025-08-24T14:30:39.000Z","updated_at":"2026-03-14T11:22:44.000Z","dependencies_parsed_at":"2025-08-24T20:08:29.954Z","dependency_job_id":"3f376f3a-84b9-4ef1-9b33-d062fcadefc6","html_url":"https://github.com/KeneanDita/Task-manager-API","commit_stats":null,"previous_names":["keneandita/task-manager-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/KeneanDita/Task-manager-API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeneanDita%2FTask-manager-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeneanDita%2FTask-manager-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeneanDita%2FTask-manager-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeneanDita%2FTask-manager-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KeneanDita","download_url":"https://codeload.github.com/KeneanDita/Task-manager-API/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeneanDita%2FTask-manager-API/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31770718,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T20:17:16.280Z","status":"ssl_error","status_checked_at":"2026-04-13T20:17:08.216Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-management","crud","docker","flask","rest-api","sql-alchemy"],"created_at":"2025-09-13T05:15:29.623Z","updated_at":"2026-04-13T20:32:07.520Z","avatar_url":"https://github.com/KeneanDita.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Task Manager API\n\n## Overview\n\n**Task Manager API** is a modular RESTful API built with Flask that allows users to manage tasks in a simple and efficient way. It supports full **CRUD operations** (Create, Read, Update, Delete) with tasks having a **title, description, and completed status**.\nThis project demonstrates a clean, scalable Flask structure suitable for learning, testing, and small projects.\n\nCheckout the docker built image : [Docker link](https://hub.docker.com/repository/docker/keneandita/taskmanagerapi/general)\n\n### Author : [Kenean Dita](https://github.com/KeneanDita)\n\n## Features\n\n* Create, read, update, and delete tasks.\n* Task fields: `title`, `description`, `completed`.\n* JSON-based REST API responses.\n* Modular Flask structure for scalability.\n* Easy database population for demo/testing.\n\n## Tech Stack\n\n* **Backend:** Python, Flask, Flask-SQLAlchemy\n* **Database:** SQLite\n* **Testing:** Postman / cURL\n* **Extras:** Flask Blueprints for modular structure\n\n## Project Structure\n\n```PS\ntask_manager_api/\n│── app.py                 # Entry point of the app\n│── requirements.txt       # Python dependencies\n│── populate.py            # Script for demo population\n│── Dockerfile             # For Deployment Services\n│── README.md\n│\n├── instance/\n│   ├── tasks.db\n│   └── config.py          # Configuration settings (DB URI, debug)\n│\n└── app/\n    ├── __init__.py        # App factory \u0026 blueprint registration\n    ├── models.py          # Task model\n    ├── routes.py          # API endpoints (tasks + homepage)\n    └── utils.py           # Optional helper functions\n```\n\n## Installation \u0026 Setup\n\n### Clone the repository\n\n```bash\ngit clone https://github.com/KeneanDita/Task-manager-API\ncd Task-manager-API\n```\n\n### Create a virtual environment\n\n```bash\npython -m venv venv\nsource venv/bin/activate        # Linux/macOS\nvenv\\Scripts\\activate           # Windows\n```\n\n### Install dependencies\n\n```bash\npip install -r requirements.txt\n```\n\n### Run the Application\n\n```bash\npython app.py\n```\n\n* Flask will run at: `http://127.0.0.1:5000/`\n* Homepage: `http://127.0.0.1:5000/`\n* Tasks API: `http://127.0.0.1:5000/tasks/`\n\n## API Endpoints\n\n| Method | Endpoint      | Description             |\n| ------ | ------------- | ----------------------- |\n| GET    | `/`           | Homepage info           |\n| GET    | `/tasks/`     | Get all tasks           |\n| GET    | `/tasks/\u003cid\u003e` | Get a task by ID        |\n| POST   | `/tasks/`     | Create a new task       |\n| PUT    | `/tasks/\u003cid\u003e` | Update an existing task |\n| DELETE | `/tasks/\u003cid\u003e` | Delete a task           |\n\n**Example POST body:**\n\n```json\n{\n  \"title\": \"Buy groceries\",\n  \"description\": \"Get milk, eggs, bread, and vegetables\",\n  \"completed\": false\n}\n```\n\n**Example GET body:**\n\n```json\n{\n    \"completed\": false,\n    \"description\": \"Read at least 50 pages of 'Clean Code'\",\n    \"id\": 4,\n    \"title\": \"Read a book\"\n}\n```\n\n![Project Diagram](instance/r.png)\n\n### Populate Database (Demo) Using Python script\n\nI have created `populate.py` with task data (10 tasks with title, description, completed). You can change it it's just better than manually entering tasks 1 by 1 just to check.\n\nRun this command to populate the Database:\n\n```bash\npython populate.py\n```\n\n### Additional Notes\n\n* **Database:** SQLite (`tasks.db`) is created automatically when the app runs.\n* **Scalability:** Modular structure makes it easy to add users, authentication, or new resources.\n* **Testing:** Recommended to use Postman or cURL to interact with the API.\n* **Extensibility:** Easily extend endpoints for pagination, filtering, or search.\n\n### License\n\nThis project is **free for everyone** yes, really!  \nUse it, learn from it, tweak it, or just stare at it in admiration.\n\nNo strings attached, no secret handshake required.\nIf you break it… hey, you only have yourself to blame.\nShare it, fork it, remix it just have fun with it!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeneandita%2Ftask-manager-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeneandita%2Ftask-manager-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeneandita%2Ftask-manager-api/lists"}