This document outlines the plan for the ANBU DevOps project. The goal of this project is to provide a training environment for junior developers to practice best practice concepts and solid coding patterns, all within a project that has proper engineering concepts and architecture, with devops concepts taken into practice.
💻 | Link (not completed yet) | Description |
---|---|---|
Getting Started | A guide to getting 🚀 up and running with the project | |
Contributing | Information on how to 🙌 contribute to the project | |
Development Guide | A guide to 🔨 developing the project | |
Deployment Guide | A guide to 🚢 deploying the project | |
Documentation | A comprehensive 📚 reference for the project | |
Troubleshooting | A guide to 🔧 solving common issues | |
Monitoring | A guide to 👀 monitoring the project's performance |
Name | Description | Emoji | Link |
---|---|---|---|
Spring Boot | A robust Java-based framework for building web applications using a model-view-controller (MVC) architecture. | ☕ | Spring Boot |
Hibernate | An Object-Relational Mapping (ORM) tool for data persistence and efficient data management in a relational database. | ✨ | Hibernate |
Gradle | A build automation tool that facilitates dependency management and supports multiple programming languages. | 🔧 | Gradle |
Angular | A popular JavaScript framework for building dynamic, single-page web applications. | 🚀 | Angular |
Kafka | A distributed streaming platform for building real-time data pipelines and streaming applications. | 🚌 | Kafka |
Docker | A containerization platform that enables the packaging and deployment of applications in a lightweight, portable format. | 🐳 | Docker |
Keycloak | An open-source identity and access management solution for securing web applications and APIs. | 🔒 | Keycloak |
Terraform | A tool for provisioning and managing cloud infrastructure as code. | 🌎 | Terraform |
AWS | A widely-used cloud computing platform that provides a range of services for hosting, storage, and data processing. | ☁️ | AWS |
Docker Swarm | A native clustering solution for Docker, that allows multiple containers to work together as a single, virtual host. | 🐟 | Docker Swarm |
Jenkins | A popular open-source automation server that supports continuous integration and deployment. | 👷 | Jenkins |
.bat and .sh files | Scripts for automating tasks such as setting up the developer environment and deploying the application. | #️⃣ | N/A |
Java | A class-based, object-oriented programming language used for building the backend of the application. | ☕ | N/A |
TypeScript | A strongly-typed, object-oriented programming language used for building the frontend of the application. | 💻 | N/A |
JSON, Dockerfiles, env, git | Additional syntax and technologies used in the project. | 📁 | N/A |
The main root directory of the project is called "ANBU DevOps" and it contains a child directory which is the root directory for the full stack project and is called "Karuma".
🗂 ANBU DevOps
├── 🦊 Karuma
│ ├── 💻 frontend
│ │ ├── 📂 src
│ │ │ ├── 📄 index.html
│ │ │ ├── 📄 index.ts
│ │ │ ├── 📄 styles.scss
│ │ │ └── ...
│ │ ├── 📂 node_modules
│ │ ├── 📄 package.json
│ │ └── ...
│ ├── 🛢 backend
│ │ ├── 📂 src
│ │ │ ├── 📄 main.java
│ │ │ ├── 📄 Application.java
│ │ │ └── ...
│ │ ├── 📦 pom.xml
│ │ └── ...
│ ├── 📝 docs
│ │ ├── 📄 README.md
│ │ ├── 📄 roadmap.md
│ │ ├── 📄 API.md
│ │ └── ...
│ ├── 🛢️ infrastructure
│ │ ├── 📂 terraform
│ │ │ ├── 📄 main.tf
│ │ │ └── ...
│ │ ├── 🐳 docker-compose.yml
│ │ ├── 🐳 swarm-deploy.sh
│ │ ├── 🐳 swarm-stack.yml
│ │ └── ...
│ ├── 🔧 scripts
│ │ ├── 📄 deploy.sh
│ │ ├── 🚀 run-dev-servers.sh
│ │ └── ...
│ ├── 📜 logs
│ ├── 🔒 .git
│ └── 💻 .vscode