This is the backend service for the Mini Event Manager application. It’s built with Flask and SQLAlchemy, providing a RESTful API for managing company events like workshops, social gatherings, and talks.
The app is launched using main.py, which requires two command-line arguments:
--db_path: Path to the SQLite database file (default:./event.db)--port: Port to run the HTTP server (default:5001)
Example:
pip install -r requirements.txt
python main.py --db_path ./event.db --port 5001- On startup, the app checks whether the specified database file exists.
- If it doesn't exist, a new SQLite database is created at the given path.
- If it does exist, the existing database is used.
- Once running, the API becomes available on the specified port for frontend access.
This project includes a Dockerfile and docker-compose.yml for easy containerized setup.
docker-compose builddocker-compose upThis will:
- Start the backend on http://localhost:5001
- Automatically create or use the existing SQLite DB (
event.db) - Persist the DB to your host machine using a volume
- CORS (Cross-Origin Resource Sharing) is enabled for all origins by default.
- Other options (like restricted origins) are present in the code but currently commented out.
To install manually:
pip install flask flask-cors==3.0.10 sqlalchemyOr via requirements.txt:
pip install -r requirements.txtMini Event Manager/
├── Readme.md
├── main.py # Entry point
├── event.db # SQLite DB (auto-generated if missing)
├── Dockerfile
├── docker-compose.yml
├── config/
│ └── config.py
├── database/
│ ├── db_manage.py
│ ├── event.py
│ └── event_dao.py
├── server/
│ └── server_manage.py
This is the Flutter desktop application for the Mini Event Manager POC. It allows users to view, create, edit, and delete events via a beautiful and responsive UI that connects to a Flask backend API.
frontend/
├── lib/
│ ├── main.dart
│ ├── models/
│ │ └── event.dart
│ ├── services/
│ │ └── api_service.dart
│ └── screens/
│ ├── event_list_screen.dart
│ ├── event_detail_screen.dart
│ └── add_edit_event_screen.dart
├── pubspec.yaml
Follow https://docs.flutter.dev/get-started/install
Run the following to verify:
flutter doctorMake sure desktop support is enabled (macOS, Windows, or Linux).
flutter pub getflutter run -d windows # Or use -d macos or -d linux depending on your OSMake sure the backend Flask API is running at:
http://localhost:5001
You can change the backend API base URL in lib/services/api_service.dart.
- View a list of events with clean cards
- Create new events with validation
- Edit existing events
- Delete events (with confirmation dialog)
- Pick date & time using native selectors
- Responsive and modern UI using Material 3
These are listed in pubspec.yaml:
dependencies:
flutter:
sdk: flutter
http: ^0.13.6
intl: ^0.18.1- This project is designed for desktop (not mobile).
- Backend must be running on localhost with CORS enabled.