A full-stack booking application built with Node.js/Express backend and React frontend.
- backEnd/: Node.js/Express REST API with Prisma ORM, Sentry integration, and authentication
- frontEnd/: React SPA with React Router, property search, booking, and user dashboard features
cd backEnd
npm install
cp .env.example .env
# Edit .env with your configuration
npm run devcd frontEnd
npm install
cp .env.example .env
# Edit .env with your configuration
npm startThis application is configured for deployment on Render. See DEPLOYMENT.md for detailed deployment instructions.
- Database: SQLite (local) → PostgreSQL (production)
- Environment-based API URLs
- CORS configuration for production domains
- Optimized build scripts
- User authentication (JWT-based)
- Property search and filtering
- Property details and booking
- User dashboard
- Host management
- Review system
- Responsive design
- Node.js & Express
- Prisma ORM
- PostgreSQL (production) / SQLite (development)
- JWT Authentication
- Sentry Error Monitoring
- Winston Logging
- React 19
- React Router v7
- CSS3 with responsive design
- Environment-based configuration
The API includes endpoints for:
/users- User management/hosts- Host management/properties- Property listings/bookings- Booking management/reviews- Review system/login- Authentication
cd backEnd
npm test # Runs Vitest unit tests and Newman API testscd frontEnd
npm test # Runs React testing library testsDATABASE_URL=postgresql://... (or file:./dev.db for local)
AUTH_SECRET_KEY=your_secret_key
SENTRY_DSN=your_sentry_dsn (optional)
PORT=3000
NODE_ENV=development
FRONTEND_URL=http://localhost:3001 (for CORS)
REACT_APP_API_URL=http://localhost:3000 (local) or https://your-api.onrender.com (production)
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the ISC License.