https://github.com/abynxv/listify-todoapp
Listify is a simple and efficient Todo application built with FastAPI, PostgreSQL, and Docker. It allows users to create, read, update, and delete tasks seamlessly. The app is designed to be user-friendly and serves as a great starting point for learning FastAPI and modern web development practices.
https://github.com/abynxv/listify-todoapp
alembic docker fastapi postgresql pydantic python
Last synced: 2 months ago
JSON representation
Listify is a simple and efficient Todo application built with FastAPI, PostgreSQL, and Docker. It allows users to create, read, update, and delete tasks seamlessly. The app is designed to be user-friendly and serves as a great starting point for learning FastAPI and modern web development practices.
- Host: GitHub
- URL: https://github.com/abynxv/listify-todoapp
- Owner: abynxv
- Created: 2024-10-30T12:46:10.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-30T13:08:03.000Z (over 1 year ago)
- Last Synced: 2025-04-05T16:12:50.399Z (about 1 year ago)
- Topics: alembic, docker, fastapi, postgresql, pydantic, python
- Language: Python
- Homepage:
- Size: 11.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Listify Todo App
## Description
Listify is a simple and efficient Todo application built with FastAPI, PostgreSQL, and Docker. It allows users to create, read, update, and delete tasks seamlessly. The app is designed to be user-friendly and serves as a great starting point for learning FastAPI and modern web development practices.
## Features
- Create, read, update, and delete tasks
- Dockerized for easy deployment
- PostgreSQL as the database
## Technologies Used
- **Backend**: FastAPI
- **Database**: PostgreSQL
- **Containerization**: Docker
- **ORM**: SQLAlchemy
- **Pydantic**: Data validation and settings management
## Getting Started
### Prerequisites
- Python 3.8 or higher
- PostgreSQL
- Docker (optional, for containerization)
### Installation
1. Clone the repository:
```bash
git clone https://github.com/abynxv/Listify-TodoApp.git
cd Listify-TodoApp
2. Set up your virtual environment:
```bash
python3 -m venv venv
source venv/bin/activate
3. Install the required packages:
```bash
pip install -r requirements.txt
4. Configure your database settings in settings.py:
```python
DATABASE_URL = "postgresql://username:password@localhost/Listify"
Replace username, password, and Listify with your actual PostgreSQL credentials and database name.
Running the Application
You can run the application using Docker or directly with Python.
Using Docker
Build and run the Docker container:
bash
sudo docker build -t fastapi-todo-app .
sudo docker run -d --network host --name my_fastapi_app -e DATABASE_URL="postgresql://username:password@localhost/Listify" fastapi-todo-app
Access the application at http://localhost:8000.
Running Locally
Start the FastAPI server:
bash
uvicorn app.main:app --reload
Access the application at http://localhost:8000.
API Endpoints
GET /todos: Get a list of all tasks
POST /todos: Create a new task
GET /todos/{id}: Get a task by ID
PUT /todos/{id}: Update a task by ID
DELETE /todos/{id}: Delete a task by ID
