DevSync is a full-stack DevOps monitoring and automation platform that leverages HashiCorp tools to manage infrastructure, secrets, deployments, and observability efficiently. It is designed for engineers who need a scalable, secure, and automated DevOps pipeline. This repository contains both the frontend and backend components, ensuring a seamless integration of the entire system.
- Authentication & Authorization (JWT-based, OAuth2)
- Secrets Management (HashiCorp Vault for secure credential storage)
- Infrastructure as Code (Terraform & Nomad for automated provisioning)
- Database Support (PostgreSQL + MongoDB integration)
- Custom GitHub Actions for CI/CD automation
- Containerized Deployment (Docker + Kubernetes)
- Monitoring & Logging (DataDog, Prometheus, Loki, Grafana)
- Role-based Access Control (RBAC) for user permissions
- Health Checks & Service Discovery (Consul + Nomad)
- Full-Stack Monitoring Dashboard
- React.js + Next.js (Server-Side Rendering)
- TypeScript
- TailwindCSS (for styling)
- React Query (Data Fetching)
- React Hooks and React Form (State Management and Form Handling)
- Vercel (Deployment)
- Node.js (Express + TypeScript)
- PostgreSQL (Relational Database)
- MongoDB (NoSQL Database)
- Redis (Caching Layer)
- HashiCorp Vault (Secrets Management)
- HashiCorp Terraform (Infrastructure as Code)
- HashiCorp Nomad (Container Orchestration)
- GitHub Actions (CI/CD)
- Docker & Kubernetes (Containerization & Deployment)
- DataDog (Monitoring & Observability)
Here is the architecture of DevSync:
git clone [email protected]:Younique98/devsync.git
cd devsyncnpm installCreate a .env file:
VAULT_ADDR=http://devsync-vault:8200
VAULT_TOKEN=your-root-token
PG_USER=your_postgres_user
PG_PASSWORD=your_postgres_password
PG_DATABASE=devsync
MONGO_URI=mongodb://localhost:27017/devsyncTo start all services together:
docker-compose up --build| Service | URL / Command |
|---|---|
| Backend API | http://localhost:5001 |
| PostgreSQL | psql -h localhost -U PG_USER -d devsync |
| MongoDB | mongosh mongodb://localhost:27017/devsync |
| Vault | http://localhost:8200 |
| Consul | http://localhost:8500 |
| Nomad | http://localhost:4646 |
To stop all containers:
docker-compose downTo stop and delete all containers, networks, and volumes:
docker-compose down -vTo deploy infrastructure:
terraform init
terraform apply
nomad run devsync.nomad| Method | Endpoint | Description |
|---|---|---|
POST |
/api/auth/login |
User login |
GET |
/api/users |
Get user list |
POST |
/api/deploy |
Trigger deployment |
DevSync/
│── backend/
│ ├── src/
│ │ ├── controllers/
│ │ ├── models/
│ │ ├── routes/
│ │ ├── services/
│ │ ├── config/
│ ├── server.ts
│ ├── database.ts
│ ├── package.json
│
│── frontend/
│ ├── components/
│ ├── pages/
│ ├── styles/
│ ├── package.json
│ ├── next.config.js
│
│── infrastructure/
│ ├── terraform/
│ ├── nomad/
│
│── docs/
│ ├── system-architecture.png
│
│── .gitignore
│── README.md
- Defines how to build the backend container.
- Uses Node.js 18.
- Copies package.json first for caching dependencies.
- Installs dependencies inside the container.
- Copies source files into the container.
- Runs
npm run devto start the backend.
- Manages multiple services together.
- Starts PostgreSQL, MongoDB, Vault, Consul, and Nomad.
- Automatically runs
npm run devinside the backend container. - Maps environment variables from the
.envfile.
This project supports GitHub Actions CI/CD and Nomad Job Scheduling. To deploy:
nomad run devsync.nomadThis project is licensed under the MIT License.
- Erica Thompson - LinkedIn
- Open to contributions! Feel free to fork and submit PRs.
We welcome issues, pull requests, and discussions! Feel free to contribute, suggest features, or report bugs.
🚀 DevSync - The future of automated DevOps monitoring and management! 🎯