Skip to content

Modular ERP backend built with Node.js, Express, TypeScript, and Firebase. Includes services for inventory, orders, payments, purchases, suppliers, customers, reports, notifications, and CRM.

License

Notifications You must be signed in to change notification settings

Ajax-Z01/ajaxtreon-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ajaxtreon Backend

Ajaxtreon Backend adalah sistem ERP modular berbasis Node.js dan Firebase yang mendukung proses bisnis seperti manajemen inventaris, pembelian, penjualan, pelanggan, supplier, laporan operasional, serta modul CRM untuk pengelolaan relasi pelanggan.


🚀 Teknologi yang Digunakan

  • Node.js + Express – Framework backend
  • TypeScript – Bahasa utama
  • Firebase Firestore – Basis data NoSQL
  • Firebase Authentication – Autentikasi pengguna
  • Cloudinary – Penyimpanan media (gambar)
  • Midtrans API (Sandbox) – Integrasi pembayaran
  • Modular Service Architecture – Service terpisah per fitur untuk skalabilitas
  • Jest – (opsional) Testing

🧱 Struktur Layanan

🔐 Auth Service

  • Registrasi & login pengguna
  • Firebase Authentication
  • Token berbasis cookie

👤 User Service

  • CRUD pengguna sistem
  • Role-based authorization (Admin/User)

📦 Inventory Service

  • Produk
  • Kategori produk
  • Stok & histori perubahan stok

🛒 Order Service

  • Manajemen penjualan (sales order)
  • Riwayat status order

💳 Payment Service

  • Integrasi Midtrans (mode sandbox)
  • Proses pembayaran dan callback

🧾 Purchase Service

  • Manajemen pembelian dari supplier

🧑‍💼 Supplier Service

  • CRUD data supplier

👥 Customer Service

  • CRUD data customer/pelanggan

🛍 Seller Service

  • CRUD data penjual
  • Manajemen profil penjual
  • Integrasi dengan produk & order

🔔 Notification Service

  • Kirim notifikasi ke user (email, push, atau in-app)
  • Manajemen template notifikasi
  • Tracking status pengiriman

📊 Report Service

  • purchasereport – Laporan pembelian
  • revenuereport – Laporan pendapatan
  • salesreport – Laporan penjualan
  • stockreport – Laporan stok & mutasi
  • customerreport – Laporan pelanggan
  • supplierreport – Laporan supplier
  • inventoryturnover – Perputaran persediaan

🗂 CRM Service

  • Lead Service – CRUD prospek, update status lead
  • Contact Service – CRUD kontak, relasi dengan lead
  • Opportunity Service – CRUD peluang bisnis, relasi dengan lead/contact
  • Activity Service – CRUD aktivitas (meeting, call, email, task), filter berdasarkan entitas terkait

📂 Struktur Direktori

src/
├── controllers/    # Handler request
├── routes/         # Routing per service
├── services/       # Business logic per modul
├── middlewares/    # Middleware autentikasi & otorisasi
├── dtos/           # Data Transfer Objects
├── utils/          # Helper functions
└── config/         # Konfigurasi Firebase, Cloudinary, Midtrans

⚙️ Cara Menjalankan Proyek

1. Clone Repo

git clone https://github.com/Ajax-Z01/ajaxtreon-backend
cd ajaxtreon-backend

2. Install Dependencies

npm install

3. Salin dan Atur File .env

cp .env.example .env

Isi variabel:

PORT=5000

FIREBASE_PROJECT_ID=...
FIREBASE_PRIVATE_KEY=...
FIREBASE_CLIENT_EMAIL=...

CLOUDINARY_CLOUD_NAME=...
CLOUDINARY_API_KEY=...
CLOUDINARY_API_SECRET=...

MIDTRANS_SERVER_KEY=...
MIDTRANS_CLIENT_KEY=...

4. Jalankan Development Server

npm run dev

5. Build & Run Production

npm run build
npm start

▶️ Scripts

  • npm run dev – Development server
  • npm run build – Compile TypeScript
  • npm start – Run production build
  • npm run lint – Linting kode

📄 Lisensi

MIT License

About

Modular ERP backend built with Node.js, Express, TypeScript, and Firebase. Includes services for inventory, orders, payments, purchases, suppliers, customers, reports, notifications, and CRM.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published