Skip to content

KianAnbarestani/ToDo-list-Fastapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

To-Do List with FastAPI

FastAPI Logo Python SQLite

🚀 Overview

This is a simple To-Do List application built with FastAPI. It allows users to keep track of their daily tasks using a SQLite database. The application is structured with a clean and simple architecture, making it easy to understand and extend.

🛠 Features

  • 📋 Create, Read, Update, and Delete (CRUD) operations for managing tasks.
  • 🗄️ Uses SQLite as the database backend for quick and easy setup.
  • ⚡ Fast and efficient API built with FastAPI.
  • 🗂️ Project organized with modular structure using routers.
  • 📜 Alembic integration for database migrations.

📂 Project Structure

ToDo-list-Fastapi/
├── alembic/              # Alembic configuration for database migrations
├── routers/              # API routers for different functionalities
├── .gitignore            # Git ignore file
├── README.md             # Project documentation
├── alembic.ini           # Alembic configuration file
├── database.py           # Database connection and setup
├── main.py               # Application entry point
├── models.py             # Database models
├── todos.db              # SQLite database file
└── requirements.txt      # Python dependencies

🚀 Getting Started

Prerequisites

  • Python 3.1+
  • FastAPI
  • SQLite

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/ToDo-list-Fastapi.git
    cd ToDo-list-Fastapi
  2. Create and activate a virtual environment:

    python3 -m venv venv
    source venv/bin/activate
  3. Install the dependencies:

    pip install -r requirements.txt
  4. Run the application:

    uvicorn main:app --reload
  5. Access the API documentation:

🗂 API Endpoints

Task Management

  • Create a new task: POST /tasks/
  • Get all tasks: GET /tasks/
  • Get a task by ID: GET /tasks/{task_id}
  • Update a task by ID: PUT /tasks/{task_id}
  • Delete a task by ID: DELETE /tasks/{task_id}

📚 Documentation

For detailed API documentation, visit the API Docs.

📝 License

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

🤝 Contributing

  1. Fork the project.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

💬 Contact

Feel free to open an issue if you find a bug or have suggestions for improvements!

About

My very first fastpi app. its a simple todo app for the check list of the day work.it uses sqlite database with simple architeture.hope you see it

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors