A modern fullstack web application built with React, Vite, and Node.js, featuring authentication, API integration, and scalable architecture.
🔗 Frontend: Live Demo Link
🔗 Backend API: API Link
This project is a full-stack decentralized web application developed as part of my learning and internship journey.
- Practice building scalable frontend architecture using React
- Implement RESTful APIs with Node.js
- Apply modern UI/UX design
- Integrate Web3 technologies
- Clean architecture (separation between frontend & backend)
- Reusable components and hooks
- Form validation with strong typing
- API state management with React Query
- 🔑 Connect Meta Mask wallet / Authentication (Login / Register with JWT)
- 📄 CRUD operations
- 📡 API integration with Axios
- ⚡ Server state management with React Query
- 🧾 Form validation using React Hook Form + Zod
- 🎨 Modern UI with Tailwind CSS, Radix UI, and shadcn/ui
- 🔔 Toast notifications
- 🔗 Web3 integration (Wagmi, Viem)
- ⚛️ React 19 + Vite
- 🧭 React Router
- 🎯 React Hook Form + Zod
- 🔄 TanStack React Query
- 🎨 Tailwind CSS + Radix UI
- 🔔 Sonner (Toast)
- 🔗 Wagmi + Viem (Web3)
- 🟢 Node.js + Express
- 🔐 JWT Authentication
- 🔑 bcrypt (Password hashing)
- 📦 Multer (File upload)
- 🌐 CORS enabled
- 🍃 MongoDB + Mongoose
- ⚡ Vite
- 🧹 ESLint
- 🧠 TypeScript
- 🔄 Nodemon
project-root/
│
├── frontend/ (React + Vite)
│ └── src/
│ ├── abis/ # Smart contract ABIs
│ ├── api/ # API calls & services
│ ├── assets/ # Images & static files
│ ├── components/ # Reusable UI components
│ ├── constants/ # Static values & configs
│ ├── context/ # Global state (React Context)
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utility libraries / configs
│ ├── pages/ # Application pages
│ ├── routes/ # Routing configuration
│ ├── types/ # TypeScript types/interfaces
│ └── utils/ # Helper functions
│
├── backend/ (Node.js + Express)
│ └── src/
│ ├── configs/
│ ├── controllers/
│ ├── interfaces/
│ ├── middleware/
│ ├── models/
│ └── routes/
│
├── screenshots/ # Images for README
└── README.md
git clone https://github.com/ngthachminhthanh/DApp.git
cd your-repo2️⃣ Setup Frontend
cd frontend
npm install
npm run dev3️⃣ Setup Backend
cd backend
npm install
npm run dev🔑 Environment Variables 📌 Backend (.env)
PORT=5035
MONGO_URI=your_mongodb_connection
JWT_SECRET=your_secret_key
JWT_EXPIRES_IN=1d🚀 Deployment
-
Frontend: Vercel
-
Backend: Render
🤝 Contributing Contributions are welcome!
git checkout -b feature/your-feature
git commit -m "Add new feature"
git push origin feature/your-feature👨💻 Author
Nguyen Thach Minh Thanh
- GitHub: https://github.com/ngthachminhthanh/
- Email: ngthachminhthanh@gmail.com
⭐ Support
If you find this project useful, please give it a ⭐ on GitHub!













