- Student 1. Jalal Ghaffar, jghaffar24@student.oulu.fi
- Student 2. Hidayat Ur Rehman, Hidayat.Rehman@student.oulu.fi
- Student 3. Heikki Tolonen, heikki.tolonen@student.oulu.fi
- Student 4. Teemu Kettukangas, teemu.kettukangas@student.oulu.fi
Run all commands from project root.
PWP_JHHT_CLIENT is a submodule, so clone recursively:
git clone https://github.com/Heiguli/PWP_JHHT.git --recursive
cd PWP_JHHTIf you already cloned without submodules, run:
git submodule update --init --recursivepip install -r Database_folder/requirements.txt
pip install flask-restful pytest pytest-covpython setup.pyThis script installs missing dependencies, recreates tables, populates sample data, and starts the API.
python -m Beatify.apiAPI base URL:
http://localhost:5000/Beatify/api/v1
Run only API test file:
python -m pytest tests/api_test.py -vRun all tests:
python -m pytest -vRun coverage:
python -m pytest tests/api_test.py -v --cov=Beatify --cov-report=term-missing- Main app package docs: Beatify/README.md
- Database notes and setup details: Database_folder/README.md
- Test guide: tests/README.md
- Schema folder notes: Beatify/static/schema/README.md
- Deployment guide: DEPLOYMENT.md
- API client docs: API_Client_Auxiliary_service/PWP_JHHT_CLIENT/README.md
- API Auxiliary service: API_Client_Auxiliary_service/auxiliary_service/README.md
Build and run local production-style stack:
docker compose up --buildDocker setup now seeds sample data on first startup by default.
Then open:
http://localhost:5000/Beatify/api/v1/artists
http://localhost:5000/Beatify/api/v1/docs
http://localhost:5000/Beatify/api/v1/openapi.yaml
GitHub Actions workflow for CI/CD is in:
.github/workflows/ci-cd.yml
Validate OpenAPI locally:
python -m openapi_spec_validator docs/openapi.yamlNote: /Beatify/api/v1 itself is not a standalone route in this API; use one of the resource or docs routes above.
- The old
app/package docs are no longer used. Current code lives in theBeatify/package. - If you change folder structure, update imports and scripts (
setup.py, tests, and DB scripts) accordingly.