
- Added due_date field to Todo model
- Updated schemas to include due_date field
- Created Alembic migration for the new field
- Added API endpoint to filter todos by due date range
- Updated README to document the new feature
🤖 Generated with BackendIM... (backend.im)
Co-Authored-By: Claude <noreply@anthropic.com>
62 lines
1.8 KiB
Markdown
62 lines
1.8 KiB
Markdown
# Simple Todo Application
|
|
|
|
A RESTful API for a Todo application built with FastAPI and SQLite.
|
|
|
|
## Features
|
|
|
|
- Create, Read, Update, and Delete Todo items
|
|
- Due date assignment and tracking for todo items
|
|
- Filtering todos by due date range
|
|
- Health endpoint for application monitoring
|
|
- SQLite database with SQLAlchemy ORM
|
|
- Database migrations with Alembic
|
|
|
|
## API Endpoints
|
|
|
|
- **GET /health**: Check application health
|
|
- **GET /api/v1/todos**: List all todos
|
|
- **POST /api/v1/todos**: Create a new todo
|
|
- **GET /api/v1/todos/{id}**: Get a specific todo by ID
|
|
- **PUT /api/v1/todos/{id}**: Update a todo
|
|
- **DELETE /api/v1/todos/{id}**: Delete a todo
|
|
- **GET /api/v1/todos/due-date/**: Filter todos by due date range
|
|
|
|
## Getting Started
|
|
|
|
### Prerequisites
|
|
|
|
- Python 3.8 or higher
|
|
- FastAPI
|
|
- SQLAlchemy
|
|
- Alembic
|
|
|
|
### Installation
|
|
|
|
1. Clone the repository
|
|
2. Install dependencies: `pip install -r requirements.txt`
|
|
3. Run database migrations: `alembic upgrade head`
|
|
4. Start the server: `uvicorn main:app --reload`
|
|
|
|
### API Documentation
|
|
|
|
API documentation is automatically generated and available at:
|
|
|
|
- Swagger UI: [http://localhost:8000/docs](http://localhost:8000/docs)
|
|
- ReDoc: [http://localhost:8000/redoc](http://localhost:8000/redoc)
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
.
|
|
├── alembic/ # Database migration files
|
|
├── app/ # Application package
|
|
│ ├── api/ # API routes
|
|
│ │ └── endpoints/ # API endpoint modules
|
|
│ ├── core/ # Core functionality
|
|
│ ├── db/ # Database setup
|
|
│ ├── models/ # SQLAlchemy models
|
|
│ └── schemas/ # Pydantic schemas
|
|
├── main.py # Application entry point
|
|
├── alembic.ini # Alembic configuration
|
|
└── requirements.txt # Project dependencies
|
|
``` |