1.5 KiB
1.5 KiB
Development Guidelines
Project Overview
This is a personal agenda web application built with Flask that tracks various events and important dates:
- Events: birthdays, holidays, travel itineraries, conferences, waste collection schedules
- Space launches, meteor showers, astronomical events
- Financial information (FX rates, stock market)
- UK-specific features (holidays, waste collection, railway schedules)
- Authentication via UniAuth
- Frontend uses Bootstrap 5, Leaflet for maps, FullCalendar for calendar views
Python Environment
- Always use
python3directly, neverpython - All Python code should include type annotations
- Use
typing.Anyinstead ofAnyin type hints (import from typing module) - Run
mypy --strict(fix any type errors in the file) andblackon modified code after creating or modifying Python files - Avoid running
black . - Main entry point:
python3 web_view.py(Flask app on port 5000) - Tests: Use
pytest(tests in/tests/directory)
Project Structure
agenda/- Main Python package with modules for different event typesweb_view.py- Flask web application entry pointtemplates/- Jinja2 HTML templatesstatic/- CSS, JS, and frontend assetsconfig/- Configuration filespersonal-data/- User's personal data (not in git)
Git Workflow
- Avoid committing unrelated untracked files (e.g.,
node_modules/, build artifacts) - Only commit relevant project files
- Personal data directory (
personal-data/) is excluded from git