This project is a full-stack JavaScript web application built using React on the frontend and Node.js with Express on the backend. The application follows a client–server architecture and demonstrates core full-stack development concepts such as authentication, RESTful APIs, file handling, and secure data management.
The project is designed to be lightweight and easy to set up, using a file-based JSON datastore instead of a traditional database, making it ideal for rapid development and learning purposes.
• User authentication using JWT (JSON Web Tokens)
• Secure password storage with bcrypt hashing
• RESTful API architecture using Express.js
• Client-side routing with React Router
• File upload support using Multer
• Frontend–backend communication via Axios
• Modular and reusable React components
• Fast development setup with Vite and hot reloading
Frontend • React (v19) – Component-based UI development • Vite – Fast development server and bundler • React Router – Client-side routing • Axios – API communication • React Icons – UI icons
Backend • Node.js – JavaScript runtime • Express.js – REST API framework • JWT – Authentication and authorization • bcryptjs – Password encryption • Multer – File upload handling • CORS & body-parser – Request handling and security
Data Storage • JSON-based file storage (used for lightweight persistence and prototyping)
• Concurrently – Run frontend and backend together
• Nodemon – Automatic server restart on changes
• ESLint – Code quality and consistency
This project was built to: • Gain hands-on experience with full-stack JavaScript development • Understand authentication workflows and secure data handling • Practice building and consuming REST APIs • Learn how frontend and backend systems interact in real-world applications
for client
cd client
npm install
npm run dev
for server
cd server
npm install
npm start