{"id":28263501,"url":"https://github.com/venkata-kiran-adapa/task_manager","last_synced_at":"2026-01-25T11:02:27.709Z","repository":{"id":295607318,"uuid":"922539538","full_name":"Venkata-Kiran-Adapa/Task_Manager","owner":"Venkata-Kiran-Adapa","description":"Task Manger Full Stack Project","archived":false,"fork":false,"pushed_at":"2025-01-26T13:48:59.000Z","size":17506,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-18T06:34:40.061Z","etag":null,"topics":["bootstrap","css","express","html","javascript","mongodb","mongoose","node","postman","rest-api","typescript","webpack"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/Venkata-Kiran-Adapa.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-01-26T13:44:37.000Z","updated_at":"2025-01-26T13:52:16.000Z","dependencies_parsed_at":"2025-05-26T13:11:07.588Z","dependency_job_id":null,"html_url":"https://github.com/Venkata-Kiran-Adapa/Task_Manager","commit_stats":null,"previous_names":["venkata-kiran-adapa/task_manager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Venkata-Kiran-Adapa/Task_Manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Venkata-Kiran-Adapa%2FTask_Manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Venkata-Kiran-Adapa%2FTask_Manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Venkata-Kiran-Adapa%2FTask_Manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Venkata-Kiran-Adapa%2FTask_Manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Venkata-Kiran-Adapa","download_url":"https://codeload.github.com/Venkata-Kiran-Adapa/Task_Manager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Venkata-Kiran-Adapa%2FTask_Manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28752374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T10:25:12.305Z","status":"ssl_error","status_checked_at":"2026-01-25T10:25:11.933Z","response_time":113,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["bootstrap","css","express","html","javascript","mongodb","mongoose","node","postman","rest-api","typescript","webpack"],"created_at":"2025-05-20T08:11:29.977Z","updated_at":"2026-01-25T11:02:27.695Z","avatar_url":"https://github.com/Venkata-Kiran-Adapa.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Task Manager\n\nThis is a robust task management application built with Node.js, Express, MongoDB, and TypeScript. It empowers users to effectively organize and track their tasks, fostering increased productivity and efficiency.\n\n**Key Features:**\n\n* **Comprehensive Task Management:**\n    * **Creation :** Effortlessly create new tasks with detailed descriptions, set deadlines, and assign priorities (High, Medium, Low).\n    * **Categorization:** Organize tasks into intuitive categories (e.g., Personal, Work, Home, School) for better clarity and focus. \n    * **Prioritization:** Prioritize tasks effectively using a clear priority system to ensure timely completion of critical tasks.\n    * **Deadline Tracking:** Set and track deadlines for each task to maintain focus and avoid missing important commitments.\n    * **Task Deletion:** Easily remove completed or irrelevant tasks to declutter your workspace.\n\n* **User-Friendly Interface:**\n    * **Intuitive Design:** A clean and intuitive user interface ensures a smooth and enjoyable user experience.\n    * **Clear Task Display:** Tasks are presented in a visually appealing and informative manner, highlighting key details like name, description, deadline, priority, and category.\n    * **Visual Cues:** Utilize color-coded badges or other visual cues to quickly identify task priorities and deadlines.\n\n* **Robust User Authentication:**\n    * **Secure Registration:** Create user accounts with strong passwords (hashed using bcrypt for enhanced security).\n    * **Secure Login:** Log in with your credentials and access your personalized task list.\n    * **JWT Authentication:** Securely authenticate user sessions using JSON Web Tokens (JWTs) for enhanced security.\n\n* **Backend Infrastructure:**\n    * **Node.js \u0026 Express.js:** A robust and efficient backend built with Node.js and the Express.js framework.\n    * **MongoDB:** A flexible NoSQL database for storing user data and tasks.\n    * **Mongoose ODM:** An Object Data Modeling library that simplifies interactions with MongoDB.\n    * **TypeScript:** Enhances code maintainability, readability, and reduces the likelihood of errors through static type checking.\n\n\n### Prerequisites\nMake sure you have the following installed:\n- [Node.js](https://nodejs.org/)\n- [MongoDB](https://www.mongodb.com/try/download/community) (or use a cloud-based MongoDB service like [MongoDB Atlas](https://www.mongodb.com/cloud/atlas))\n\n## Tech Stack\n\n\nThis project utilizes the following technologies:\n\n**Backend:**\n\n* **Node.js:** A powerful and versatile JavaScript runtime environment.\n* **Express.js:** A lightweight and flexible web framework for building Node.js applications.\n* **MongoDB:** A flexible and scalable NoSQL database for storing user data and tasks.\n* **Mongoose:** An Object Data Modeling (ODM) library that simplifies interactions with MongoDB.\n* **TypeScript:** A superset of JavaScript that enhances code maintainability, readability, and reduces the likelihood of errors through static type checking.\n* **bcrypt:** A library for securely hashing and comparing passwords.\n* **jsonwebtoken:** A library for generating and verifying JSON Web Tokens (JWT) for secure authentication.\n\n**Frontend:**\n\n* **HTML, CSS, JavaScript:** Core web technologies for building the user interface.\n* **Bootstrap:** A popular front-end framework that provides pre-built CSS components and JavaScript plugins for faster and more efficient development.\n* **TypeScript:** Used for writing type-safe JavaScript code in the frontend to improve code quality and maintainability.\n* **Webpack:** A module bundler for managing and bundling frontend assets (JavaScript, CSS).\n\nThis combination of technologies provides a robust foundation for building a scalable and maintainable task management application.\n## Installation \u0026 Setup\n\n1. **Clone the Repository:**\n\n```bash\ngit clone https://github.com/Venkata-Kiran-Adapa/Task_Manager.git\n```\n2. **Navigate to the Backend Directory:**\n\n```bash\ncd backend\n```\n3. **Install Backend Dependencies:**\n\n```bash\nnpm i\n```\n4. **Start the development server:**\n\n```bash\nnpm start\n```\n5. **Open New Terminal window**\n\n\n6. **Navigate to the frontend Directory:**\n\n```bash\ncd frontend/src\n```\n7. **Install dependencies:**\n\n```bash\nnpm i\n```\n8. **Build the Project**\n\n```bash\nnpm run build\n```\n9. **Start the development server:**\n\n```bash\nnpm start\n```\n\n10. Open the app in your browser at http://localhost:8080.\n\n## Webpack Configuration\nWebpack is used to bundle the TypeScript files. The webpack.config.js file handles the following:\n\n- **Entry:** Specifies the entry point (app.ts) for the application.\n- **Output:** Bundles the TypeScript files into a single JavaScript file (app.js).\n- **Loaders:** Uses ts-loader to transpile TypeScript files into JavaScript.\n- **DevServer:** Configures Webpack's development server to serve the app.\n- **Source Maps:** Enables inline source maps for easier debugging\n\n# Task Manager API Reference\n\nThis document outlines the API endpoints available for interacting with the Task Manager application.\n\n## Authentication\n\n* **Login:**\n    * **Endpoint:** `POST /api/auth/login`\n    * **Request Body:**\n        * `email`: string (Required)\n        * `password`: string (Required)\n    * **Response:**\n        * On success:\n            * `status`: 200\n            * `body`: \n                * `token`: string (JWT token)\n        * On failure:\n            * `status`: 401\n            * `message`: \"Invalid credentials\"\n\n* **Register:** (Assuming this functionality is based on your code)\n    * **Endpoint:** `POST /api/auth/signup`\n    * **Request Body:**\n        * `username`: string (Required)\n        * `email`: string (Required)\n        * `password`: string (Required)\n    * **Response:**\n        * On success:\n            * `status`: 201\n            * `message`: \"User registered successfully\"\n        * On failure:\n            * `status`: 400 \n            * `message`: \"Validation error\" or specific error message\n\n## Tasks\n\n* **Get All Tasks by Category:**\n    * **Endpoint:** `GET /api/tasks/category/:category`\n    * **Headers:**\n        * `Authorization`: `Bearer \u003cJWT_token\u003e` (Required)\n    * **Parameters:**\n        * `category`: string (Required)\n    * **Response:**\n        * `status`: 200\n        * `body`: Array of task objects for the specified category\n        * `status`: 404\n        * `message`: \"Category not found\"\n\n* **Create Task:**\n    * **Endpoint:** `POST /api/tasks`\n    * **Headers:**\n        * `Authorization`: `Bearer \u003cJWT_token\u003e` (Required)\n    * **Request Body:**\n        * `taskName`: string (Required)\n        * `taskDescription`: string (Optional)\n        * `taskDeadline`: string (ISO 8601 format expected by the server, but the code attempts to convert it to YYYY-MM-DD format) (Optional)\n        * `taskCategory`: string or array of strings (Required)\n        * `taskPriority`: string (e.g., \"high\", \"medium\", \"low\") (Optional)\n    * **Response:**\n        * `status`: 201\n        * `body`: Created task object\n        * `status`: 400\n        * `message`: \"Enter all Task Detail\" (if validation fails or request body is empty)\n\n* **Delete Task:**\n    * **Endpoint:** `DELETE /api/tasks/:taskname/:category`\n    * **Headers:**\n        * `Authorization`: `Bearer \u003cJWT_token\u003e` (Required)\n    * **Parameters:**\n        * `taskname`: string (Required)\n        * `category`: string (Required)\n    * **Response:**\n        * `status`: 200\n        * `body`: Deleted task object (if successful)\n        * `status`: 404\n        * `message`: \"Task not found\"\n\n\n## File Structure\n\n**Backend:**\n\n* **controllers:** Contains controllers for handling HTTP requests (task.js, user.js).\n* **middlewares:** Implements cross-cutting concerns like authentication and authorization (auth.js).\n* **models:** Defines the structure of data in the database (e.g., User, Task).\n* **routes:** Defines API endpoints for different functionalities (e.g., user registration, task creation).\n* **service:** Encapsulates business logic (e.g., user authentication, task creation).\n* **package.json:** Manages backend dependencies.\n\n**Frontend:**\n\n* **TypeScript:** Used for writing type-safe JavaScript code.\n* **Webpack:** Bundles and manages frontend assets.\n* **`index.html`:** The main HTML file for the application.\n\nThis structure provides a clear separation of concerns and makes the project easier to maintain and scale.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvenkata-kiran-adapa%2Ftask_manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvenkata-kiran-adapa%2Ftask_manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvenkata-kiran-adapa%2Ftask_manager/lists"}