Buana CMS is a web application designed to help sales teams efficiently manage customers, orders, and sales activities.
The app is built with Remix (frontend) and NestJS (backend) using a modular and secure architecture.
- 🔐 Secure Authentication — Login and register using JWT tokens and cookies.
- 📦 Sales Order Management — View order lists, details, and status.
- 👥 Customer Management — Add, edit, and delete customer data.
- 💼 Product Management — CRUD operations for products.
- 📊 Dashboard Overview — Quick access to sales insights.
- 🧾 Activity Logs — Track user activities and updates.
- 💬 Real-time Feedback — Toast notifications for success or error events.
- Remix — Fullstack React framework
- TypeScript
- Tailwind CSS
- shadcn/ui — Modern UI components
- Axios — HTTP client
- React Hook Form
- Sonner — Toast notifications
- Go — Fast, reliable programming language
- Fiber — Web framework inspired by Express.js
- GORM — ORM for Go
- PostgreSQL — Relational database
- JWT Authentication — Token-based security
git clone https://github.com/alpharii/buana-cms.git
cd buana-cmsNavigate to the backend directory:
cd backend
go mod tidy
cp .env.example .envFill in your environment variables in .env, e.g:
DB_HOST=localhost
DB_USER=postgres
DB_PASSWORD=password
DB_NAME=db_name
DB_PORT=5432
PORT=3000
JWT_SECRET=secretNavigate to the frontend directory:
cd ../frontend
npm install
cp .env.example .envEdit .env file to point API to your backend URL:
VITE_API_URL=http://localhost:3000/apiThen start the development server:
npm run devFrontend will be available at:
http://localhost:5173
Contributions are welcome! Follow these steps to contribute:
- Fork this repository.
- Create a new branch:
git checkout -b feature/your-feature-name- Make your changes or improvements.
- Commit your changes:
git commit -m "Add new feature: ..."- Push your branch:
git push origin feature/your-feature-name- Open a Pull Request to the
mainbranch with a brief description.
frontend/
├── app/
│ ├─ routes/
│ ├─ __preauth+/
│ │ └─ login.tsx # Public login page
│ ├─ __postauth+/ # Authenticated/protected routes
│ │ └─ dashboard.tsx # Example authenticated page
│ ├─ __preauth.tsx # Main layout after login
│ ├─ __postauth.tsx # Main layout before login
│ └─ index.tsx # Redirect to login or dashboard
│ ├── components/ # Reusable UI components
│ ├── lib/ # Axios client & helpers
│ ├── styles/ # Tailwind CSS files
│ └── root.tsx # Main Remix entry point
├── public/ # Public assets
└── package.json
If you find this project helpful:
- ⭐ Star this repository
- 🧩 Share it with other developers
- 💡 Contribute via pull requests
Buana CMS — “Empowering sales productivity through efficient systems.”