govorov/backend/README.md

50 lines
1.4 KiB
Markdown

# Backend for Glass Cutting Optimization
This directory contains the FastAPI backend application.
## Setup
1. **Create a virtual environment:**
```bash
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
```
2. **Install dependencies:**
```bash
pip install -r requirements.txt
```
3. **Configure environment variables:**
Create a `.env` file in this directory based on `.env.example` (you'll create this later).
4. **Run database migrations (using Alembic):**
```bash
# Initialize alembic (only once)
# alembic init alembic
# Edit alembic.ini and alembic/env.py to point to your models and database URL
# ...
# Create a migration
# alembic revision --autogenerate -m "Initial migration"
# Apply the migration
# alembic upgrade head
```
5. **Run the development server:**
```bash
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
```
## Project Structure
* `app/`: Main application code
* `core/`: Configuration, settings, dependencies
* `db/`: Database session management
* `models/`: SQLAlchemy models
* `schemas/`: Pydantic schemas
* `routers/`: API route handlers
* `services/`: Business logic
* `alembic/`: Database migration scripts
* `tests/`: Application tests
* `.env`: Environment variables (local)
* `alembic.ini`: Alembic configuration
* `requirements.txt`: Python dependencies