Set up project structure, backend stater files, and initial documentation
This commit is contained in:
@@ -1,2 +1,63 @@
|
||||
# scalable-task-platform
|
||||
Production-style task platform built with Docker, CI/CD, Terraform, Kubernetes, Prometheus, and Grafana.
|
||||
# Scalable Task Platform
|
||||
|
||||
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