0% found this document useful (0 votes)
2 views4 pages

Mern Stack Developer Intern Assignment

The assignment requires the development and deployment of a small AI Task Processing Platform using the MERN stack, Python, Docker, Kubernetes, and Argo CD. Key functionalities include user authentication, task creation and tracking, and asynchronous processing with a focus on CI/CD practices. Additionally, the project must adhere to security protocols and include an architecture document detailing scaling strategies and deployment processes.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views4 pages

Mern Stack Developer Intern Assignment

The assignment requires the development and deployment of a small AI Task Processing Platform using the MERN stack, Python, Docker, Kubernetes, and Argo CD. Key functionalities include user authentication, task creation and tracking, and asynchronous processing with a focus on CI/CD practices. Additionally, the project must adhere to security protocols and include an architecture document detailing scaling strategies and deployment processes.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

MERN Full Stack Developer Intern Assignment

Objective

Build and deploy a small AI Task Processing Platform using MERN stack, Python worker, Docker,
Kubernetes (k3s allowed), Argo CD (GitOps), and CI/CD. This assignment evaluates your ability
to build production-ready applications and deploy them properly.

What You Need to Build

User registration and login (JWT authentication).



Create AI tasks (title, input text, operation).

Run tasks asynchronously in background.

Track task status (pending, running, success, failed).

View task logs and results.

Deploy entire system to Kubernetes using Argo CD.

Required Services

Frontend: React or [Link]



Backend API: [Link] + Express

Worker Service: Python (background job processor)

Database: MongoDB

Queue: Redis

Task Processing Requirements

Supported operations: uppercase, lowercase, reverse string, word count.


• •
When user clicks Run: create task record with status 'pending'.
Push job to Redis queue.

Worker processes job and updates status to 'running'.

Save result and logs.

Final status must be success or failed.

Docker Requirements

Separate Dockerfile for frontend, backend, and worker.


• •
Use multi-stage builds.

Use non-root user in containers.



Provide docker-compose for local development.

Kubernetes Requirements

Use namespace for the project.



Deployment and Service for each component.
• •
Ingress configuration.

ConfigMaps and Secrets.



Resource limits and requests.

Liveness and Readiness probes.

Worker should support scaling to multiple replicas.

GitOps with Argo CD

Create a separate infrastructure repository.


• •
Store Kubernetes manifests in infra repository.

Install and configure Argo CD.

Enable auto-sync on repository changes.


• •
Provide screenshot of Argo CD dashboard.

CI/CD Requirements

Run lint checks.



Build Docker images.

Push images to Docker Hub or container registry.
• •
Update image tag in infra repository automatically.

Security Requirements

Password hashing using bcrypt.



JWT-based authentication.

Helmet middleware.

Rate limiting.

No hardcoded secrets in repository.

Architecture Document (Required)

Explain worker scaling strategy.



Explain how system handles high task volume (100k tasks/day).
• •
Database indexing strategy.

Handling Redis failure.



How to deploy staging and production environments.

Submission Requirements

Application repository.

Infrastructure repository.

Live deployed URL (if possible).

Argo CD screenshot.

Architecture document (2–4 pages).

README with setup instructions.

You might also like