Automated Action 97c3923628 Build complete task management tool with FastAPI and SQLite
- Implemented CRUD operations for task management
- Added task status tracking (pending, in_progress, completed)
- Included priority levels (low, medium, high)
- Set up SQLite database with Alembic migrations
- Added filtering and pagination support
- Configured CORS for all origins
- Included health check endpoint
- Added comprehensive API documentation
- Formatted code with Ruff linting
2025-06-19 05:20:58 +00:00

48 lines
1016 B
Python

from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from app.db.session import engine
from app.db.base import Base
from app.api.tasks import router as tasks_router
# Create database tables
Base.metadata.create_all(bind=engine)
app = FastAPI(
title="Task Management Tool",
description="A simple task management API",
version="1.0.0",
openapi_url="/openapi.json",
)
# CORS configuration
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# Include routers
app.include_router(tasks_router, prefix="/api/v1")
@app.get("/")
async def root():
return {
"title": "Task Management Tool",
"documentation": "/docs",
"health": "/health",
}
@app.get("/health")
async def health_check():
return {"status": "healthy", "service": "task-management-tool"}
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)