Skip to content

human-coder-mj/Todo-Service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Todo API Service

A robust and scalable ToDo application backend built using Python and Django. This project provides users with the ability to manage tasks efficiently through CRUD operations, with secure authentication and a seamless API integration for frontend clients.

Features

  • Task Management: Create, read, update, and delete tasks with ease.
  • User Authentication: Secure login and token-based authentication using Django Rest Framework's token authentication system.
  • RESTful API: API endpoints for seamless interaction with frontend clients or external systems.
  • Scalable and Secure: Optimized database interactions using Django ORM and secure user authentication mechanisms.

Tech Stack

  • Backend Framework: Django
  • Programming Language: Python
  • API Framework: Django Rest Framework (DRF)
  • Database: SQLite (default), easily replaceable with PostgreSQL or MySQL
  • Version Control: Git and GitHub

Installation

Follow these steps to set up the project on your local machine:

  1. Clone the Repository

    git clone https://github.com/human-coder-mj/The_Todo.git
    cd The_Todo
  2. Create and Activate a Virtual Environment

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install Dependencies

    pip install -r requirements.txt
  4. Apply Migrations

    python manage.py makemigrations
    python manage.py migrate
  5. Run the Server

    python manage.py runserver
  6. Access the Application

    Open your browser and navigate to http://127.0.0.1:8000/.

API Endpoints

The application provides the following API endpoints:

Endpoint Method Description
/api/todos/ GET Retrieve all tasks
/api/todos/<id>/ GET Retrieve a specific task
/api/todos/ POST Create a new task
/api/todos/<id>/ PUT Update a task
/api/todos/<id>/ DELETE Delete a task
/api/users/ GET Retrieve all users
/api/users/<id>/ GET Retrieve a specific user
/api/register/ POST Register a new user

Authentication is required for all endpoints. Use the /api/auth/login/ and /api/auth/register/ endpoints for authentication.

Project Structure

The_Todo/
├── manage.py          # Django management script
├── todoList/          # Project settings and configurations
├── apis/              # Main application code
│   ├── migrations/    # Database migrations
│   ├── models.py      # Data models
│   ├── views.py       # API views
│   ├── serializers.py # API serializers
│   └── urls.py        # Application URLs
└── requirements.txt   # Project dependencies

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature/YourFeature.
  3. Commit your changes: git commit -m 'Add YourFeature'.
  4. Push to the branch: git push origin feature/YourFeature.
  5. Submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages