π¨ EZStay β Full Stack Web Application
EZStay is a full-stack accommodation listing web application designed for tourists to explore stays across different cities. It demonstrates complete frontendβbackendβdatabase integration with authentication, admin management, and cloud deployment.
π Live Demo
Frontend: https://ez-stay.vercel.app
Backend API: https://ezstay-backend.onrender.com
β¨ Features
π€ User
User authentication (Register & Login)
Browse cities
View stays available in each city
View stay details
π§βπΌ Admin
Add new cities
Add stays under specific cities
π οΈ Tech Stack
Frontend
React.js
Bootstrap
Axios
React Router DOM
Backend
Node.js
Express.js
JWT Authentication
Database
MySQL
Deployment
Frontend: Vercel
Backend: Render
Database: Railway
ποΈ Project Structure
EZStay/
βββ client/ # React frontend
β βββ src/
β βββ public/
β βββ package.json
β
βββ server/ # Node.js backend
β βββ controllers/
β βββ routes/
β βββ db/
β βββ index.js
β βββ package.json
β
βββ README.md
π Authentication
JWT-based authentication
Secure login & protected admin routes
Role-based access (User / Admin)
π§ͺ API Endpoints (Sample)
Method Endpoint Description
POST /api/auth/register Register user
POST /api/auth/login Login user
GET /api/cities Get all cities
POST /api/cities Add city (Admin)
GET /api/stays/:cityId Get stays by city
POST /api/stays Add stay (Admin)
π Deployment Overview
Backend deployed on Render as a Web Service
MySQL database hosted on Railway
Frontend deployed on Vercel
Backend connected to Railway via public MySQL proxy
Environment variables securely managed in cloud platforms
π Learning Outcomes
Built a complete full-stack application
Implemented RESTful APIs
Worked with MySQL relational database
Managed JWT authentication
Handled cloud deployment & networking issues
Understood real-world production debugging
π¨βπ» Author
Tanmay Tawade
β If you like this project, feel free to star the repository!