TaskHub adalah aplikasi Task Manager kolaboratif berbasis React + Redux (frontend) dan Node.js + Express + MongoDB (backend).
- Task CRUD (Create, Read, Update, Delete)
- Filter dan sorting task
- Global state management dengan Redux Toolkit
- Asynchronous API operations (GET, POST, PUT, DELETE)
- Testing minimal 2 komponen (React Testing Library)
- Advanced topic (lazy loading komponen ringkasan)
- Build dan deployment ke Vercel
client/- Aplikasi React (Create React App)server/- Express app dan MongoDB model/controller/routeapi/index.js- Vercel Serverless Function entrypoint
Buat file .env di root project berdasarkan .env.example.
Contoh:
MONGODB_URI=mongodb://127.0.0.1:27017/taskhub
CORS_ORIGIN=http://localhost:3000Jalankan backend (port default 5000):
node server/server.jsBuat file .env di folder client berdasarkan client/.env.example.
Contoh:
HOST=localhost
REACT_APP_API_URL=http://localhost:5000/apiJalankan frontend:
cd client
npm startVercel akan menggunakan konfigurasi di vercel.json.
MONGODB_URI= koneksi MongoDB AtlasCORS_ORIGIN= URL aplikasi Vercel kamu, contohhttps://taskhub-abc.vercel.appREACT_APP_API_URL=/api
Vercel akan:
- Build frontend dari
client/ - Menyediakan API lewat
api/index.js - Rewrite
/api/*ke function backend
- CORS dibatasi dengan whitelist dari
CORS_ORIGIN. - API tidak mengekspos detail error sensitif pada response produksi.
- Backend melakukan validasi input untuk create/update task.