Set up project structure, backend stater files, and initial documentation
This commit is contained in:
@@ -1,2 +1,63 @@
|
|||||||
# scalable-task-platform
|
# Scalable Task Platform
|
||||||
Production-style task platform built with Docker, CI/CD, Terraform, Kubernetes, Prometheus, and Grafana.
|
|
||||||
|
An end-to-end DevOps project that shows how a task application can be containerized, deployed, automated, scaled, and monitored using Docker, GitHub Actions, Terraform, Kubernetes, Prometheus, and Grafana.
|
||||||
|
|
||||||
|
## Project Overview
|
||||||
|
|
||||||
|
This repository documents the step-by-step development of a scalable task platform designed to reflect real DevOps workflows. The project starts from a simple backend service and will grow into a fully containerized, automated, cloud-ready, and observable platform.
|
||||||
|
|
||||||
|
The goal is not just to build a task application, but to demonstrate how modern DevOps practices are applied across the full software delivery lifecycle.
|
||||||
|
|
||||||
|
## What This Project Demonstrates
|
||||||
|
|
||||||
|
- Containerization with Docker
|
||||||
|
- Continuous Integration and Delivery with GitHub Actions
|
||||||
|
- Infrastructure provisioning with Terraform
|
||||||
|
- Kubernetes-based orchestration
|
||||||
|
- Monitoring and observability with Prometheus and Grafana
|
||||||
|
- Progressive project documentation through weekly implementation updates
|
||||||
|
|
||||||
|
## Planned Stack
|
||||||
|
|
||||||
|
- Backend: Node.js + Express
|
||||||
|
- Frontend: to be added
|
||||||
|
- Database: PostgreSQL
|
||||||
|
- Containerization: Docker
|
||||||
|
- CI/CD: GitHub Actions
|
||||||
|
- Infrastructure: Terraform
|
||||||
|
- Orchestration: Kubernetes
|
||||||
|
- Monitoring: Prometheus and Grafana
|
||||||
|
|
||||||
|
## Project Roadmap
|
||||||
|
|
||||||
|
- [Week 1: Project foundation and backend setup](docs/week-1-update.md)
|
||||||
|
- Week 2: Dockerize the backend
|
||||||
|
- Week 3: Add frontend and Docker Compose
|
||||||
|
- Week 4: CI with GitHub Actions
|
||||||
|
- Week 5: CD workflow and image registry
|
||||||
|
- Week 6: Terraform infrastructure setup
|
||||||
|
- Week 7: Cloud deployment
|
||||||
|
- Week 8: Kubernetes deployment
|
||||||
|
- Week 9: Monitoring with Prometheus and Grafana
|
||||||
|
- Week 10: Hardening, documentation, and portfolio polish
|
||||||
|
|
||||||
|
## Current Status
|
||||||
|
|
||||||
|
Week 1: Project foundation in progress
|
||||||
|
|
||||||
|
## Weekly Updates
|
||||||
|
|
||||||
|
Project progress will be documented week by week in the `docs` folder.
|
||||||
|
|
||||||
|
- [Week 1 Update](docs/week-1-update.md)
|
||||||
|
|
||||||
|
## Repository Structure
|
||||||
|
|
||||||
|
```text
|
||||||
|
scalable-task-platform/
|
||||||
|
├── app/
|
||||||
|
│ ├── backend/
|
||||||
|
│ └── frontend/
|
||||||
|
├── docs/
|
||||||
|
│ └── week-1-update.md
|
||||||
|
└── README.md
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"name": "task-backend",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "Backend API for scalable task platform",
|
||||||
|
"main": "server.js",
|
||||||
|
"scripts": {
|
||||||
|
"start": "node server.js"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"express": "^4.21.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
const express = require("express");
|
||||||
|
|
||||||
|
const app = express();
|
||||||
|
const PORT = 3000;
|
||||||
|
|
||||||
|
app.use(express.json());
|
||||||
|
|
||||||
|
app.get("/", (req, res) => {
|
||||||
|
res.send("Task backend is running");
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get("/health", (req, res) => {
|
||||||
|
res.status(200).json({ status: "healthy" });
|
||||||
|
});
|
||||||
|
|
||||||
|
app.listen(PORT, () => {
|
||||||
|
console.log(`Server running on port ${PORT}`);
|
||||||
|
});
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
# Week 1 Update
|
||||||
|
|
||||||
|
## Project Objective
|
||||||
|
Build a production-style scalable task platform that will grow step by step with Docker, CI/CD, Terraform, Kubernetes, and monitoring.
|
||||||
|
|
||||||
|
## Progress So Far
|
||||||
|
- Created GitHub repository
|
||||||
|
- Cloned repository locally
|
||||||
|
- Opened project in VS Code
|
||||||
|
- Created initial project structure
|
||||||
|
- Created backend starter files
|
||||||
|
|
||||||
|
## Next Step
|
||||||
|
Run the backend locally before containerizing it
|
||||||
Reference in New Issue
Block a user