Required:
- Docker Desktop (includes Docker Engine + Docker Compose)
- Download: https://www.docker.com/products/docker-desktop/
- After install, open Docker Desktop once and make sure it says Docker is running.
Optional:
- Git (only needed if cloning from GitHub instead of using a ZIP)
- Download: https://git-scm.com/downloads
You do not need local Node.js, Python, or PostgreSQL for the Docker workflow.
If using ZIP:
- Download/extract the
FYPfolder. - Open a terminal in the extracted
FYProot (the folder containingdocker-compose.yml).
If using Git:
git clone https://github.com/RalphjCruz/FYP.git
cd FYPFrom the project root:
docker compose up --buildFirst run can take several minutes because images are built.
- Frontend app:
http://localhost - Backend API health:
http://localhost:3000/health - Camera monitor health:
http://localhost:8001/health - pgAdmin:
http://localhost:5050- Email:
admin@myslime.com - Password:
admin
- Email:
Postgres is mapped to host port 5433.
Stop containers:
docker compose downStop and remove DB volume (full reset):
docker compose down -vRun detached (background):
docker compose up --build -dView logs:
docker compose logs -fBest practice before zipping:
- Make sure containers are stopped:
docker compose down - Remove local dependency/build folders to reduce ZIP size:
- root
node_modules backend/node_modulesfrontend/node_modulesbackend/coveragefrontend/dist
- root
- Zip the whole
FYPfolder.
The recipient can then run:
docker compose up --buildFrom project root:
.\scripts\create-handoff-zip.ps1This creates a clean handoff zip in the parent directory and excludes common bulky/runtime files (.git, node_modules, coverage, local .env, caches).
Useful options:
# Commit-only archive (tracked files from HEAD)
.\scripts\create-handoff-zip.ps1 -UseGitArchive
# Choose a custom output path/name
.\scripts\create-handoff-zip.ps1 -OutputPath .\exports\FYP-handoff.zip
# Stop Docker services before packaging
.\scripts\create-handoff-zip.ps1 -StopContainers- If port
80,3000,5433,5050, or8001is already used, stop the conflicting app/service or change port mappings indocker-compose.yml. - If Docker says virtualization is unavailable, enable virtualization in BIOS/UEFI and restart.
- If builds fail after dependency changes, run:
docker compose down
docker compose build --no-cache
docker compose up