Skip to content

ngthachminhthanh/DApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Decentralized Web App

A modern fullstack web application built with React, Vite, and Node.js, featuring authentication, API integration, and scalable architecture.


🌐 Live Demo

πŸ”— Frontend: Live Demo Link

πŸ”— Backend API: API Link


πŸ–ΌοΈ Preview

🏠 Home Page

Home

🏠 Dashboard

Dashboard

πŸ“¦ Main Feature

Create Token UI

CreateToken

Create Token (confirm)

CreateToken

Create Token (successfully)

CreateToken

Token List

TokenList

Mint Token (step 1)

MintToken

Mint Token (step 2)

MintToken

Mint Token (step 3)

MintToken

Mint Token (successfully)

MintToken

Profile

Profile

Edit Profile

Profile

Logout

Logout

Logout (successfully)

Logout

🧠 About The Project

This project is a full-stack decentralized web application developed as part of my learning and internship journey.

🎯 Goals:

  • Practice building scalable frontend architecture using React
  • Implement RESTful APIs with Node.js
  • Apply modern UI/UX design
  • Integrate Web3 technologies

πŸ’‘ Highlights:

  • Clean architecture (separation between frontend & backend)
  • Reusable components and hooks
  • Form validation with strong typing
  • API state management with React Query

✨ Main Features

  • πŸ”‘ 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)

πŸ› οΈ Tech Stack

🎨 Frontend

  • βš›οΈ React 19 + Vite
  • 🧭 React Router
  • 🎯 React Hook Form + Zod
  • πŸ”„ TanStack React Query
  • 🎨 Tailwind CSS + Radix UI
  • πŸ”” Sonner (Toast)
  • πŸ”— Wagmi + Viem (Web3)

πŸš€ Backend

  • 🟒 Node.js + Express
  • πŸ” JWT Authentication
  • πŸ”‘ bcrypt (Password hashing)
  • πŸ“¦ Multer (File upload)
  • 🌐 CORS enabled

πŸ—„οΈ Database

  • πŸƒ MongoDB + Mongoose

βš™οΈ Dev Tools

  • ⚑ Vite
  • 🧹 ESLint
  • 🧠 TypeScript
  • πŸ”„ Nodemon

πŸ“‚ Folder Structure

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

βš™οΈ Installation & Setup

1️⃣ Clone repository

git clone https://github.com/ngthachminhthanh/DApp.git
cd your-repo

2️⃣ Setup Frontend

cd frontend
npm install
npm run dev

3️⃣ 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

⭐ Support

If you find this project useful, please give it a ⭐ on GitHub!

About

A full-stack decentralized application built on blockchain technology, enabling users to interact with smart contracts through a modern web interface.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages