MarcioJCarvalho / task_manager_api

The Task Manager API is an application developed in Python with Django that offers a RESTful interface for managing tasks (todo list).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Task Manager API

The Task Manager API is an application developed in Python with Django that offers a RESTful interface for managing tasks (todo list). With this API, users can create, view, update and delete tasks, organize tasks into lists, add comments and categorize their tasks for better organization.

Features

  • User Registration: Users can register on the platform to start managing their tasks.
  • Task Creation: Users can create new tasks by providing details such as title, description, due date, and priority.
  • Organization in Lists: Tasks can be grouped into lists for better organization and management.
  • Task Categorization: Users can categorize their tasks, allowing filtering and viewing by category.
  • Adding Comments: Users can add comments to tasks to provide more context or related discussions.
  • Activity History: All important activities like task creation, marking task as completed, etc. are recorded for tracking and auditing purposes.

API Structure

The API is structured in a modular way, with dedicated endpoints for each resource (users, tasks, lists, etc.). Each endpoint follows RESTful principles and responds to standard HTTP requests such as GET, POST, PUT and DELETE.

Structure

task_manager_api/
│
├── task_manager_api/
│   ├── __init__.py
│   ├── settings.py
│   ├── asgi.py
│   ├── urls.py
│   └── wsgi.py
│
├── LICENSE
├── manage.py
├── README.md
└── requirements.txt

Entities

  • User: A class to represent the users of your application.
  • Task: A class to represent the tasks to be performed, with fields such as title, description, creation date, completion date, priority, etc.
  • TaskList: A class for representing task lists, allowing users to group related tasks together.
  • Category: A class for categorizing tasks if you want to allow users to organize their tasks by categories.
  • Comment: A class to allow users to add comments to tasks.
  • Auditable: A class for recording important activities such as task creation, marking task as completed, etc. for auditing and tracking purposes.

Prerequisites

To configure and run this project, you will need to have installed in your environment:

Installation and Use

Follow these instructions to configure and run the project in your local environment:

  1. Clone this repository:
git clone https://github.com/MarcioJCarvalho/task_manager_api.git
  1. Navigate to the project directory:
cd task-manager-api
  1. Create and activate the virtual environment:
python3 -m venv venv
source venv/bin/activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Run the database migrations:
python main.py migrate
  1. Start the development server:
python main.py runserver
  1. Access the API in your browser or in a tool like Postman:
http://localhost:5000/

Now you're ready to start using the API!

Contribution

Contributions are welcome! Feel free to open an issue or send a pull request with improvements, bug fixes or new features.

Technologies Used

License

This project is licensed under the MIT License.

Love Task Manager API? Give our repo a star ⭐ ⬆️.

Made with 💙 by MÁRCIO 👋 See my LinkedIn

About

The Task Manager API is an application developed in Python with Django that offers a RESTful interface for managing tasks (todo list).

License:MIT License


Languages

Language:Python 100.0%