Skip to content

PhucDo1305/task-manager-api

Repository files navigation

Task Manager API 🚀

Welcome to the Task Manager API repository! This API serves as the backend for a task management application, built with a focus on clean architecture and domain-driven design (DDD). It utilizes popular technologies such as Express, NestJS, https://github.com/PhucDo1305/task-manager-api/releases, PostgreSQL, Prisma ORM, SuperTest, TypeScript, Vite, and Zod.

Overview ℹ️

This repository contains the source code for the Task Manager API. The API is designed to efficiently manage tasks and provide essential functionalities for task tracking and organization. Whether you are building a personal task manager or integrating task management features into a larger application, this API has you covered.

Features ✨

  • Clean Architecture: Built following best practices for clean architecture to ensure separation of concerns and maintainability.
  • Domain-Driven Design (DDD): Utilizes DDD principles to model the domain logic effectively.
  • Express: Utilizes https://github.com/PhucDo1305/task-manager-api/releases as the web application framework for https://github.com/PhucDo1305/task-manager-api/releases
  • NestJS: Employs NestJS, a progressive https://github.com/PhucDo1305/task-manager-api/releases framework, for building efficient, reliable, and scalable server-side applications.
  • PostgreSQL: Uses PostgreSQL as the relational database management system.
  • Prisma ORM: Integrates Prisma ORM for database access and data modeling.
  • SuperTest: Implements SuperTest for HTTP assertions to test Express routes.
  • TypeScript: Written in TypeScript for improved code quality and maintainability.
  • Vite: Utilizes Vite for fast and efficient web development tooling.
  • Zod: Integrates Zod for runtime type checking for improved reliability.

Installation and Usage 🛠️

To get started with the Task Manager API, follow these steps:

  1. Clone the repository: git clone https://github.com/PhucDo1305/task-manager-api/releases
  2. Install dependencies: npm install
  3. Set up the PostgreSQL database and update the database configuration in the .env file.
  4. Run the migrations: npx prisma migrate dev
  5. Start the server: npm run start

API Endpoints 🛤️

The API exposes the following endpoints for managing tasks:

  • GET /tasks: Retrieve all tasks.
  • GET /tasks/:id: Retrieve a specific task.
  • POST /tasks: Create a new task.
  • PUT /tasks/:id: Update an existing task.
  • DELETE /tasks/:id: Delete a task.

Refer to the API documentation or source code for more detailed information on the available endpoints and request/response formats.

Testing 🧪

The Task Manager API includes comprehensive test coverage to ensure the reliability and correctness of the API endpoints. SuperTest is used for writing integration tests that validate the functionality of the API across various scenarios. To run tests, execute: npm run test.

Deployment 🚀

To deploy the Task Manager API to a production environment, consider configuring continuous integration/continuous deployment (CI/CD) pipelines using tools like GitHub Actions, GitLab CI/CD, or Jenkins. Ensure that the necessary environment variables are set, and the database connection is appropriately configured for the production environment.

Download Release 📦

Download the latest release of the Task Manager API codebase by clicking the button below:

Download Release

If the link ends with the file name, ensure to extract the ZIP file and launch the application as per the installation instructions provided.

Contributing 🤝

If you'd like to contribute to the development of the Task Manager API, feel free to submit pull requests or open issues on the GitHub repository. You can also contribute by improving the test coverage, enhancing the API documentation, or adding new features to enhance the functionality of the API.

License 📝

The Task Manager API is open-source software licensed under the MIT license. Feel free to use, modify, and distribute the code as per the terms of the license.


Thank you for checking out the Task Manager API repository! Happy coding! 🎉