A modern full-stack travel application built with React, Node.js, and Supabase.
- User authentication with JWT
- Travel packages and bookings
- Flight search and booking interface
- Cruise and hotel accommodations
- Responsive design for all devices
- API integration with travel services
- Frontend: React, Bootstrap, Tailwind CSS
- Backend: Node.js, Express
- Database: Supabase
- Deployment: Vercel
Visit https://jetsetters-final.vercel.app to see the application in action.
├── backend/ # Backend Node.js code
│ ├── config/ # Database configuration
│ ├── controllers/ # API controllers
│ ├── middleware/ # Authentication middleware
│ ├── models/ # Supabase models
│ └── routes/ # API routes
├── public/ # Static assets
├── resources/ # Frontend React code
│ ├── css/ # Stylesheets
│ └── js/ # React components
└── server.js # Express server entry point
-
Clone the repository:
git clone https://github.com/Crazycoders283/jetset.git cd jetset -
Install dependencies:
npm install -
Create a
.envfile with the following variables:NODE_ENV=development PORT=5000 JWT_SECRET=your-secret-key JWT_EXPIRE=30d SUPABASE_URL=your-supabase-url SUPABASE_ANON_KEY=your-supabase-anon-key -
Start the development server:
npm run dev -
Access the application:
- Frontend: http://localhost:5173
- Backend API: http://localhost:5000/api
npm run dev: Starts both backend and frontend in development modenpm run server: Runs just the Node.js backendnpm run client: Runs just the React frontendnpm run build: Builds the frontend for productionnpm start: Starts the production server
POST /api/auth/register: Register a new userPOST /api/auth/login: Login a userGET /api/auth/me: Get current user profile
GET /api/users: Get all users (admin only)GET /api/users/:id: Get user by IDPUT /api/users/:id: Update userDELETE /api/users/:id: Delete user
- Frontend: React, React Router, Axios, Vite, Tailwind CSS
- Backend: Node.js, Express
- Database: Supabase
- Authentication: JWT (JSON Web Tokens)
The project uses a concurrently package to run both frontend and backend servers simultaneously during development.
A test script is included to verify API functionality:
node backend/test-api.js
MIT