Ovaj projekt je web aplikacija za glasovanje temeljena na mikroservisnoj arhitekturi. Sustav je kontejneriziran pomoću Dockera i dizajniran za rad u AWS oblaku, uz mogućnost lokalnog testiranja pomoću LocalStack simulatora.
Link za pristup: http://rs-final.duckdns.org
Za testiranje na osobnom računalu. Ova konfiguracija koristi LocalStack za simulaciju AWS DynamoDB baze, tako da nisu potrebni AWS ključevi.
- Klonirajte repozitorij:
git clone <repo_url>
- Pokrenite aplikaciju:
docker-compose up
- Pristupite aplikaciji:
- Web Aplikacija: http://localhost
- API Dokumentacija: http://localhost/docs
- Traefik Dashboard: http://localhost:8080
Za pokretanje na udaljenom serveru (EC2). Ova konfiguracija koristi stvarnu AWS DynamoDB bazu i DuckDNS domenu.
- Spojite se na server (SSH).
- Pokrenite aplikaciju (sa skaliranjem backenda):
docker-compose -f docker-compose.prod.yaml up -d --build --scale backend=3
- Pristupite aplikaciji:
- Web Aplikacija: http://rs-final.duckdns.org
- Backend: Python 3.10 (FastAPI)
- Frontend: Nginx, HTML, JavaScript
- Baza Podataka: AWS DynamoDB (Produkcija) / LocalStack (Razvoj)
- Load Balancer: Traefik v2.11
- Infrastruktura: Docker, Docker Compose, AWS EC2
backend/ # Izvorni kod API servisa
frontend/ # Statičke datoteke web sučelja
docker-compose.yaml # Konfiguracija za lokalni razvoj (LocalStack)
docker-compose.prod.yaml # Konfiguracija za produkciju (AWS)
