A private personal ERP to organize my life, built with modern tech stack and enterprise-grade infrastructure.
🌐 Live Production: core-life.arjunaa.my.id
Core Life is a personal ERP that I build for myself (now for public) to manage day by day activity, like manage your academic, financial, and more to come
This project is not just a basic CRUD app, but this project act as my playground to show how I implement FullStack, DevOps, Security, Infrastructure (Self-Host), and automation that simulate industry standard in a smaller scale.
- 🔐 Secure Authentication: Implementation of JWT Auth in the middleware
- ⚡ High Performance: Backend written in Golang to decrease latency and for high performance
- 📱 Responsive UI: Frontend React that is responsive for desktop & mobile
- 📚 Academic Module: Manage your classes, assignment, and your GPA
- 💵 Financial Module: Manage your money based on your needs, wants, save, dan invest.
- 🔜 More Modules to Come
| Frontend | Backend | Database | Devops | Infrastructure |
|---|---|---|---|---|
| React | Golang | Postgres | Docker | Ubuntu server |
| Tailwind | Gin | Github Action | Cloudflare tunnel |
This project is being hosted on my own Home Server (Used Laptop).
Every code that has pas the review will automatically be added to the repo by GitHub Actions:
- Branch
dev: Auto-deploy to the Development environment (Port 8081/3001). - Branch
main: Auto-deploy to the Production environment (Port 8080/3000).
- Cloudflare Tunnel: Expose production to the public without port forwarding
- Tailscale: Private access to development environtment that I use.
- CORS Policy: Strict policy to separate API between dev and prod environtment
graph TD
User((Public User)) -->|HTTPS| CF[Cloudflare Tunnel]
Dev((Me / Developer)) -->|Tailscale VPN| Server[Home Server]
subgraph "Home Server (Docker Compose)"
CF -->|Port 8080| BE_Prod[Backend Prod]
CF -->|Port 3000| FE_Prod[Frontend Prod]
BE_Prod --> DB_Prod[(Postgres Prod)]
subgraph "Development Environment"
BE_Dev[Backend Dev] --> DB_Dev[(Postgres Dev)]
FE_Dev[Frontend Dev]
end
end
Clone the project to open it locally
git clone https://github.com/Arjuna-Ragil/Project-CL.git
cd Project-CLBase config to start running the project
# Database config (change as needed)
DB_HOST=localhost
DB_USER=postgres
DB_PASSWORD=secret
DB_NAME=cl_local_db
DB_PORT=5432
# Backend config
SECRET_KEY=Secret_key_that_you_can_change
AUTH_MODE=false (enable/disable auth middleware)Env to enable communication between FE and BE
VITE_API_BASE_URL=http://localhost:8080/api (change to correspond your backend)There are two choice on how to run the project:
# Only build the database, run the FE & BE separately (Recommended)
docker compose up -d --build db
# Build everything from docker
docker compose up -d --build
This project is private, but I'm open to talk and discuss about Home Lab Architecture and Devops. Feel free to reach out!