Local Development
Prerequisites
Before running Movie Tracker (dev version), ensure the following software is installed:
Software |
Version |
|---|---|
Docker |
Latest stable version |
Docker Compose |
Latest stable version |
Python |
>= 3.10 |
Node.js |
>= 20.x LTS |
npm |
Included with Node.js |
TMDB API Key |
Required |
Installation Steps
Using a bash terminal :
1. Clone the project
git clone https://github.com/DanielSchmerber/SQS26_MovieTracker.git
2. Open project’s folder :
cd SQS26_MovieTracker
3. Start the application
The Docker development mode builds both applications from the current source code:
./movietracker.sh up dev
To run the backend and frontend separately, follow the steps below.
Run the Backend
cd backend/sqs-movietracker
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
alembic upgrade head
uvicorn main:app --reload --port 8000 --log-level debug
The backend requires the variables defined in the .env file. Since it is started from its own subdirectory, these variables must either be set in the shell or provided through a .env file within the backend directory.
Backend tests are executed from the same directory:
python -m pytest tests
Run the Frontend
In a second terminal:
cd frontend/sqs-movietracker
npm install
npm run dev
The local frontend server is available at:
http://localhost:3000
API requests are forwarded to the backend running on port 8000.
Additional frontend commands:
Command |
Description |
|---|---|
|
Creates a production build |
|
Runs the Vitest test suite |
|
Checks the source code using ESLint |
|
Formats the source code and applies automatic ESLint fixes |
|
Verifies formatting using Prettier |
New shadcn/ui components can be added, for example, using:
npx shadcn@latest add button
Project Structure
.
├── backend/sqs-movietracker/ FastAPI backend
├── frontend/sqs-movietracker/ React frontend
├── docs/ Architecture documentation
├── docker-compose.yml Shared Docker Compose configuration
├── docker-compose.dev.yml Docker Compose extension for development mode
├── docker-compose.prod.yml Docker Compose extension for production mode
└── movietracker.sh Docker stack management script
!!! tip
Detailed architecture and quality documentation can be found in the `/docs/arc42/` directory.