Project hierarchy
The projects folder structure is as follows:
- /app - backend
- /api - The Flask API
- /cli - The Click CLI
- /auth
- /celery - Celery tasks and scheduled jobs
- /database - SQLAlchemy setup
- /models - Common SQLAlchemy models
- /migrations - Alembic migrations
- /integrations
- /[integration] - i.e. Exact / PowerBI
- /models - integration specific SQLAlchemy models
- fetcher.py - Reusable code for all fetchers
- incremental_fetch_process.py - Contextmanager for incremental fetching of an endpoint
- /[integration] - i.e. Exact / PowerBI
- /mail - configuration and templates of mailables
- config.py
- env.py - Parser for the .env file
- lock.py - Lock implementation
- log_config.py - Configuration of all logging
- util.py - Common functions