Platform terdepan untuk digitalisasi produk desa dan UMKM Indonesia. Menghubungkan petani dan pengusaha lokal dengan pasar yang lebih luas melalui teknologi modern.
Desa Digital adalah solusi komprehensif yang memungkinkan digitalisasi produk-produk berkualitas dari desa-desa di Indonesia. Platform ini menghubungkan petani, pengrajin, dan UMKM lokal dengan konsumen di seluruh Indonesia, membantu meningkatkan ekonomi desa dan melestarikan produk lokal.
- Homepage Modern dengan hero section dan featured products
- Katalog Produk dengan pencarian dan filter canggih
- Directory UMKM dengan profil lengkap bisnis lokal
- Admin Dashboard untuk manajemen data
- Responsive Design yang mobile-friendly
- SEO Optimized untuk visibilitas maksimal
- RESTful API yang scalable dan secure
- MongoDB Atlas untuk database cloud
- Authentication & Authorization
- Data Validation yang komprehensif
- Error Handling yang robust
- Rate Limiting untuk keamanan
desa-digital/
βββ backend/ # Node.js + Express API
β βββ controllers/ # Business logic
β βββ models/ # MongoDB schemas
β βββ routes/ # API endpoints
β βββ config/ # Database configuration
β βββ middleware/ # Custom middleware
βββ frontend/ # Next.js React App
β βββ app/ # Next.js App Router
β βββ components/ # Reusable components
β βββ lib/ # Utility functions
β βββ public/ # Static assets
βββ README.md # Documentation
- Node.js (v14 atau lebih tinggi)
- MongoDB Atlas account
- npm atau yarn
- Git untuk version control
git clone https://github.com/your-username/desa-digital.git
cd desa-digitalcd backend
npm install
cp .env.example .env
# Edit .env dengan konfigurasi MongoDB Atlas Anda
npm run devcd frontend
npm install
cp .env.local.example .env.local
# Edit .env.local dengan URL backend API
npm run devcd backend
npm run seed- Salin file contoh:
cp .env.example .env
- Edit file
.envdi folderbackenddan isi dengan konfigurasi MongoDB Atlas Anda:PORT=5000 NODE_ENV=development MONGODB_URI=mongodb+srv://<username>:<password>@<cluster>.mongodb.net/desa_digital
Catatan: Proyek ini menggunakan MongoDB sebagai database utama. Pastikan Anda sudah memiliki akun dan cluster di MongoDB Atlas.
-
Salin file contoh:
cp .env.local.example .env.local
-
Edit file
.env.localdi folderfrontenddan sesuaikan URL API backend:NEXT_PUBLIC_API_URL=http://localhost:5000/api NEXT_PUBLIC_APP_NAME=Desa Digital NEXT_PUBLIC_APP_DESCRIPTION=Platform digitalisasi produk desa dan UMKM Indonesia
-
Pastikan file
next-env.d.tsada di folderfrontend(buat jika belum ada):// frontend/next-env.d.ts /// <reference types="next" /> /// <reference types="next/types/global" /> /// <reference types="next/image-types/global" /> // CATATAN: File ini tidak perlu diedit
Penting: Semua konfigurasi environment harus diisi dengan benar agar aplikasi berjalan optimal. Database yang digunakan adalah MongoDB.
# Terminal 1 - Backend
cd backend
npm run dev
# Terminal 2 - Frontend
cd frontend
npm run dev# Backend
cd backend
npm start
# Frontend
cd frontend
npm run build
npm startAkses aplikasi di:
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
GET /api/products- Get all productsGET /api/products/:id- Get single productPOST /api/products- Create new productPUT /api/products/:id- Update productDELETE /api/products/:id- Delete product
GET /api/umkm- Get all UMKMGET /api/umkm/:id- Get single UMKMPOST /api/umkm- Create new UMKMPUT /api/umkm/:id- Update UMKMDELETE /api/umkm/:id- Delete UMKM
page- Page number (default: 1)limit- Items per page (default: 10)category- Filter by categoryvillage- Filter by villagesearch- Search in name and description
{
name: String,
description: String,
image: String,
category: String,
harvestSeason: String,
price: Number,
unit: String,
village: String,
contact: {
name: String,
phone: String
}
}{
name: String,
description: String,
logo: String,
category: String,
village: String,
establishedYear: Number,
employeeCount: Number,
contact: {
name: String,
phone: String,
email: String,
address: String
},
socialMedia: {
instagram: String,
facebook: String,
whatsapp: String,
website: String
}
}- Next.js 13 - React framework dengan App Router
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - Modern UI components
- Lucide React - Beautiful icons
- Axios - HTTP client
- Node.js - JavaScript runtime
- Express.js - Web framework
- MongoDB - NoSQL database
- Mongoose - MongoDB ODM
- Joi - Data validation
- Helmet - Security middleware
- CORS - Cross-origin resource sharing
- Push ke GitHub repository
- Connect repository di Vercel
- Set environment variables
- Deploy otomatis
- Create new project
- Connect GitHub repository
- Set environment variables
- Deploy
- Create cluster di MongoDB Atlas
- Setup database user dan network access
- Get connection string
- Update environment variables
- β Basic CRUD operations
- β Search and filtering
- β Responsive design
- β Admin panel
- π User authentication
- π Payment integration
- π Order management
- π Real-time notifications
- π Mobile app (React Native)
- π Advanced analytics
- π Multi-language support
- π AI-powered recommendations
# Backend testing
cd backend
npm test
# Frontend testing
cd frontend
npm run lint- Fork repository
- Create feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add some AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open Pull Request
Desa Digital - Membangun Indonesia melalui digitalisasi produk desa dan pemberdayaan UMKM