25 lines
1.1 KiB
Markdown
25 lines
1.1 KiB
Markdown
# Development Commands
|
|
|
|
## Build/Lint/Test
|
|
- **Run development server**: `JWT_SECRET=12345 uvicorn folkugat_web.main:app --reload --reload-include "*.html" --host 0.0.0.0`
|
|
- **Build for production**: `./build.sh`
|
|
|
|
## Code Style Guidelines
|
|
|
|
### Python
|
|
- **Type hints**: Use strict typing with `from typing import` and custom types from `folkugat_web.typing`
|
|
- **Imports**: Standard library first, third-party, then local imports. Use absolute imports for local modules.
|
|
- **Naming**: snake_case for variables/functions, PascalCase for classes, UPPER_CASE for constants
|
|
- **Error handling**: Use Result[ResultT, ErrorT] pattern from utils for service functions
|
|
- **Async**: Use async/await for I/O operations, FastAPI endpoints are async
|
|
|
|
### Frontend
|
|
- **CSS**: Use Tailwind CSS classes with custom brown/beige theme
|
|
- **Templates**: Jinja2 templates in folkugat_web/assets/templates/
|
|
- **Static files**: Organized in folkugat_web/assets/static/
|
|
|
|
### Architecture
|
|
- **Structure**: api/routes/, config/, dal/, fragments/, model/, services/
|
|
- **Database**: SQLite with custom DAL layer in dal/sql/
|
|
- **Authentication**: JWT-based with cookie storage
|