docs: update README
This commit is contained in:
@@ -1,35 +1,77 @@
|
|||||||
# Scalable Task Platform
|
# Scalable Task Platform
|
||||||
|
|
||||||
## Project Overview
|
A production-grade DevOps project documenting the full lifecycle of a task management application, from a simple backend service to a containerized, automated, cloud-deployed, and observable platform.
|
||||||
|
|
||||||
A hands-on DevOps project that documents how a task application is built and managed step by step using real workflow practices. The project starts with a simple backend service and will grow into a containerized, automated, cloud-ready, and observable platform.
|
Built in public, one week at a time.
|
||||||
|
|
||||||
|
## What This Project Demonstrates
|
||||||
|
- Backend API development with Node.js and Express
|
||||||
|
- Containerization with Docker
|
||||||
|
- CI/CD automation with GitHub Actions
|
||||||
|
- Infrastructure as Code with Terraform
|
||||||
|
- Cloud deployment on AWS
|
||||||
|
- Container orchestration with Kubernetes
|
||||||
|
- Monitoring and observability with Prometheus and Grafana
|
||||||
|
|
||||||
## Stack
|
## Stack
|
||||||
|
| Layer | Technology |
|
||||||
- Node.js
|
|-------|-----------|
|
||||||
- Express
|
| Backend | Node.js, Express |
|
||||||
- Docker
|
| Containerization | Docker, Docker Compose |
|
||||||
- GitHub Actions
|
| CI/CD | GitHub Actions |
|
||||||
- Terraform
|
| Infrastructure | Terraform |
|
||||||
- Kubernetes
|
| Cloud | AWS EC2 |
|
||||||
- Prometheus
|
| Orchestration | Kubernetes |
|
||||||
- Grafana
|
| Monitoring | Prometheus, Grafana |
|
||||||
|
|
||||||
## Roadmap
|
## Roadmap
|
||||||
|
| Week | Topic | Status |
|
||||||
|
|------|-------|--------|
|
||||||
|
| 1 | Project foundation and backend setup | Done |
|
||||||
|
| 2 | Dockerize the backend | In Progress |
|
||||||
|
| 3 | Add frontend and Docker Compose | Upcoming |
|
||||||
|
| 4 | CI with GitHub Actions | Upcoming |
|
||||||
|
| 5 | CD workflow and image registry | Upcoming |
|
||||||
|
| 6 | Terraform infrastructure setup | Upcoming |
|
||||||
|
| 7 | Cloud deployment on AWS | Upcoming |
|
||||||
|
| 8 | Kubernetes deployment | Upcoming |
|
||||||
|
| 9 | Monitoring with Prometheus and Grafana | Upcoming |
|
||||||
|
| 10 | Hardening and project polish | Upcoming |
|
||||||
|
|
||||||
- [Week 1: Project foundation and backend setup](docs/week-1-update.md)
|
## API Endpoints
|
||||||
- Week 2: Dockerize the backend
|
| Method | Route | Description |
|
||||||
- Week 3: Add frontend and Docker Compose
|
|--------|-------|-------------|
|
||||||
- Week 4: CI with GitHub Actions
|
| GET | / | API health check |
|
||||||
- Week 5: CD workflow and image registry
|
| GET | /health | Returns status and uptime |
|
||||||
- Week 6: Terraform infrastructure setup
|
| GET | /tasks | Returns all tasks |
|
||||||
- Week 7: Cloud deployment
|
| POST | /tasks | Creates a new task |
|
||||||
- Week 8: Kubernetes deployment
|
| PATCH | /tasks/:id | Toggles task complete or incomplete |
|
||||||
- Week 9: Monitoring with Prometheus and Grafana
|
| DELETE | /tasks/:id | Deletes a task |
|
||||||
- Week 10: Hardening and project polish
|
|
||||||
|
|
||||||
## Current Status
|
## Getting Started
|
||||||
|
|
||||||
- Week 1 completed
|
### Prerequisites
|
||||||
- Backend validated locally
|
- Node.js 18 or higher
|
||||||
- Ready for Week 2
|
- npm
|
||||||
|
|
||||||
|
### Run Locally
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/YOUR_USERNAME/scalable-task-platform.git
|
||||||
|
cd scalable-task-platform/app/backend
|
||||||
|
cp .env.example .env
|
||||||
|
npm install
|
||||||
|
npm start
|
||||||
|
```
|
||||||
|
|
||||||
|
Server runs on http://localhost:3000
|
||||||
|
|
||||||
|
## Weekly Updates
|
||||||
|
Detailed documentation for each week is in the [docs](docs/) folder.
|
||||||
|
|
||||||
|
## Author
|
||||||
|
|
||||||
|
Ikechukwu Elizabeth Nkwo
|
||||||
|
|
||||||
|
DevOps and Cloud Engineer
|
||||||
|
|
||||||
|
[LinkedIn](https://www.linkedin.com/in/ikechukwu-elizabeth)
|
||||||
Reference in New Issue
Block a user