This contest is designed to evaluate real-life backend devloyment task.
Based on this task, we will select Project Leads (PL).
Each developer must deploy an application to a VPS using a full CI/CD pipeline.
Deployment must be automatic on every push to the main branch.
📅 Deadline:
From now to 10/01/2026 at 10:00 AM
-
PostgreSQL database is mandatory
- Application must use PostgreSQL
- DB must run using Docker
-
Cross-technology deployment
- Laravel & Python developers → must deploy a Node.js (NestJS) application
- Node.js developers → must deploy a Python (FastAPI or Django) application
-
CI/CD must be fully automated
- Firstly it would be manually deploy then the pipeline would be automated
- Deployment must trigger on push to
mainbranch
Each project must use:
- GitHub repository
- Docker & Docker Compose
- VPS (Linux Server)
- CI/CD (GitHub Actions)
- PostgreSQL
- Nginx or Caddy (recommended)
- Environment variables (
.env, and.env.production)
- Cloning our provided template called PL Contest Template
- Add proper project structure
- Replace template
README.mdfile with:- Project description
- Tech stack
- Deployment steps
- Simple CI/CD explanation (optional)
- Setup the assigned backend framework:
- NestJS
- or FastAPI / Django
- Create at least:
- One health check API (
/health) - One database connection API (
/db) - 2 endpoint for storing data and retrieving it
- One health check API (
- Configure PostgreSQL connection
- Use
.envfor credentials - Ensure DB connection works inside Docker
- Database data must persist using volumes, and maintain network
You must provide:
Dockerfile- For prod
docker-compose.yamland devdocker-compose.dev.yamlOr use profileing system or direact file fordevelopmentandproduction
Docker Compose must include:
- Application service
- PostgreSQL service
- Network configuration
- Volume for DB persistence
On your VPS:
- Install Docker & Docker Compose
- Configure firewall (open required ports)
- Make sure your application has inside
~/projectsfolder Creadentials Host:User:Password: ``
This is the core evaluation part.
Pipeline must:
- Trigger on
pushtomain - Checkout code
- Build Docker images
- Stop old containers
- Run new containers using Docker Compose
- Handle environment variables securely
- No secrets inside code
- Use:
- GitHub Secrets
- Separate:
- Development
- Production configuration
After deployment:
- Application must be accessible via:
- Public IP or domain
- APIs must return proper response
- PostgreSQL data must persist after container restart
Each developer must submit:
- Repository link
- VPS public IP / domain
- CI/CD config file
- Short explanation:
- Common issues faced and solutions (Mandetory)
- HTTPS (SSL) [if you have domain]
- Reverse proxy setup
- Database migration handling
- Health checks in CI/CD
- Logging & monitoring basics (optional)
We will evaluate based on:
- CI/CD correctness
- Automation level
- Docker & DB understanding
- Clean documentation
- Debugging & problem-solving ability
- Production readiness mindset
You follow and apply concepts from this course:
🔗 CI/CD, Docker, AWS EC2 Full Course (3h 10m) 👉 https://www.youtube.com/watch?v=FRJ_C-sZJB8
This is not a tutorial task, this is a real production-level challenge.
Take it seriously and do it properly.
If anyone faces real blocking issues, you may reach out to me.
Best of luck to everyone.
This contest will define our next Project Leads 🚀