Installation¶
Install the backend and frontend separately. On Windows, Git Bash is the most convenient way to use the included start.sh script.
Prerequisites¶
| Tool | Requirement | Check |
|---|---|---|
| Git | Current supported release | git --version |
| Python | 3.11 or newer recommended | python --version |
| Flutter | A release compatible with Dart ^3.12.2 |
flutter doctor |
| Chrome | Required for the default web demo | flutter devices |
| curl | Required by start.sh health checks |
curl --version |
For mobile development, also install Android Studio or Xcode as required by Flutter.
Clone the repository¶
git clone https://github.com/Sisig-Mayo/eActo.git
cd eActo
Use the team branch assigned for your work. This documentation describes the code line that combines the Flutter frontend with the sandbox backend.
Install the FastAPI backend¶
From Git Bash:
cd backend
python -m venv .venv
.venv/Scripts/python.exe -m pip install -r requirements.txt
cp .env.example .env
cd ..
From PowerShell:
cd backend
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
Copy-Item .env.example .env
cd ..
backend/.env is ignored by Git. Keep it that way.
Install Flutter dependencies¶
cd frontend
flutter pub get
cd ..
The Lexend font and eAkto image assets are bundled in the repository; no font download is required at runtime.
Install the documentation site¶
Use an isolated environment so MkDocs does not alter backend dependencies:
python -m venv .venv-docs
.venv-docs/Scripts/python.exe -m pip install -r docs/requirements.txt
Preview the docs on a port that does not conflict with FastAPI (8000) or Flutter Web (8001):
.venv-docs/Scripts/python.exe -m mkdocs serve --dev-addr 127.0.0.1:8002
Open http://127.0.0.1:8002.
Confirm the installation¶
backend/.venv/Scripts/python.exe -m pytest -q backend/tests/test_health.py
cd frontend
flutter analyze
cd ..
.venv-docs/Scripts/python.exe -m mkdocs build --strict
Start with local-only behavior
The app can start without real provider credentials, but provider-backed sign-in and AI calls require authorized sandbox configuration. Never invent credential values to make a screen appear configured.