A lightweight e-commerce web app built with Firebase Firestore & Auth, featuring real-time product stock, user ratings, likes, cart, checkout via Xendit, and admin-friendly features.
- 👤 Edit user profile
- 🔍 View product detail
- ⭐ Rate & review products
- ❤️ Like products (wishlist-style)
- 🛒 Add to cart & checkout
- 🔄 Real-time stock update
- 💸 Payment integration via Xendit
- 📦 Add/edit/delete products (Firestore)
- 📊 View product stats (likes, ratings)
- 🔐 Auth secured with Firebase Auth
- ✔ Telegram BOT Order notification
- ✅ Realtime chat telegram (in progress)
- ✅ Realtime order tracking (Coming soon)
| Layer | Tech |
|---|---|
| Frontend | HTML, CSS, JavaScript |
| Backend | Firebase Firestore & Auth |
| Payment | Xendit API |
| Auth | Google Button, Email/Password Login |
| Hosting | Cloudflare Pages |
-
Clone repo:
git clone https://github.com/putridinar/xenditCart-onlineShop.git cd ecommerce-firebase -
Install Firebase CLI:
npm install -g firebase-tools
-
Login & init:
firebase login firebase init
-
Run locally:
firebase emulators:start
-
Deploy:
firebase deploy
- Create Firebase project
- Enable:
- Authentication > Email/Password
- Firestore Database
- Add Firebase config to your HTML:
<script> const firebaseConfig = { apiKey: "...", authDomain: "...", projectId: "...", ... }; firebase.initializeApp(firebaseConfig); </script>
- Register at xendit.co
- Generate API Key
- Use Xendit API in checkout integration
products: {
[productId]: {
name: "Kaos Polos",
price: 50000,
stock: 20,
description: "Kaos katun combed 30s",
imageUrl: "...",
colors: ["Hitam", "Putih"],
rating: 4.6,
totalRating: 18,
likedBy: ["uid1", "uid2"]
}
}- Product detail + rating
- Likes & real-time stock
- Cart & checkout
- Admin dashboard (in progress)
- Realtime chat (in progress)
- Order history (coming soon)
Developed by [Putri Dinar]
Contact: putridinar1990@gmail.com
Build lightweight, mobile-first apps with Firebase + JS ✨