Today marks the start of my 30-day Cloud & DevOps challenge, and I focused on laying a strong foundation for the project. Before diving into code, I wanted to ensure the structure, documentation, and workflow are clear—because a well-organized project makes everything else much easier.
What I Did Today
Created GitHub repository — the central place to track code, documentation, and collaboration.
-
Planned project architecture — decided on a three-part system:
- Frontend — the user interface
- Backend — API and business logic
- Database — persistent data storage
Created basic folder structure:
/frontend
/backend
/infra # Terraform configs for cloud infrastructure
/k8s # Kubernetes manifests
/ansible # Configuration management playbooks
/jenkins # CI/CD pipeline scripts
README.md
ROADMAP.md
Why this structure?
- Separates concerns clearly: each component has its own space.
- Makes scaling easier—if I add more microservices, the structure can accommodate them.
- Keeps infrastructure and deployment configurations isolated from application code.
-
Documentation (README.md, ROADMAP.md) stays at the root for visibility.
- Added initial documentation:
README.md — outlines project goal, architecture, tech stack, and future progress.
-
ROADMAP.md — a detailed 30-day plan that breaks down daily tasks and objectives.
- Planned Git branching strategy:
-
Using conventional commit prefixes for clarity:
-
feat/→ new features -
fix/→ bug fixes -
docs/→ documentation updates -
chore/→ general maintenance tasks
-
-
Workflow:
-
mainbranch — always stable -
developbranch — integration of features before merging to main - Feature branches (
feat/...) branch offdevelopand merge back via pull requests.
-
Why These Decisions Matter
Starting with a solid structure and clear workflow ensures:
- Consistency across development
- Easier collaboration if others join
- Smooth CI/CD and deployment setup later
- Traceability of changes through meaningful commits and branches
Next Steps
Tomorrow, I’ll begin building the backend API and setting up the database. The foundation is ready, now it’s time to code, containerize, and gradually bring the infrastructure to life.
Top comments (0)