# User Authentication Service A secure user authentication API built with FastAPI and SQLite. ## Features - User registration with email validation - Secure password hashing using bcrypt - JWT token-based authentication - Protected routes with authentication middleware - Health check endpoint - SQLite database with Alembic migrations ## Setup 1. Install dependencies: ```bash pip install -r requirements.txt ``` 2. Set environment variables: ```bash export SECRET_KEY="your-secret-key-here" ``` 3. Run the application: ```bash uvicorn main:app --reload ``` ## API Endpoints ### Authentication - `POST /auth/register` - Register new user - `POST /auth/login` - Login user - `GET /auth/profile` - Get current user profile (protected) ### System - `GET /` - Service information - `GET /health` - Health check - `GET /docs` - API documentation - `GET /openapi.json` - OpenAPI schema ## Environment Variables The following environment variables should be set: - `SECRET_KEY` - JWT secret key for token signing (required for production) ## Database The application uses SQLite database located at `/app/storage/db/db.sqlite`. Database migrations are managed with Alembic. ## Documentation API documentation is available at `/docs` when the application is running.