Skip to content

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

Notifications You must be signed in to change notification settings

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

No packages published