RESTful API backend for the SkyNest Hotel Management System, built with Node.js, Express, and PostgreSQL.
- API Base URL: https://skynest-backend-api.onrender.com
- Status: Production Ready ✅
- Database: PostgreSQL (Render Cloud)
- Runtime: Node.js
- Framework: Express.js
- Database: PostgreSQL
- ORM: Sequelize
- Authentication: JWT (JSON Web Tokens)
- Password Hashing: bcrypt
- Deployment: Render
- User authentication and authorization (Admin, Manager, Receptionist, Accountant, Customer)
- Branch management (Colombo, Kandy, Galle)
- Room and booking management
- Guest management
- Service usage tracking
- Payment processing
- Billing and adjustments
- Comprehensive reporting and analytics
- Pre-booking system
- Node.js 14+
- PostgreSQL (or use Render cloud database)
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Edit .env with your configuration
# Start development server
npm startPORT=5000
NODE_ENV=development
DATABASE_URL=your_postgresql_connection_string
JWT_SECRET=your_jwt_secret
JWT_EXPIRES_IN=24h
FRONTEND_URL=http://localhost:3000POST /api/auth/login- User loginPOST /api/auth/register- User registrationGET /api/auth/profile- Get user profile
GET /api/bookings- Get all bookingsPOST /api/bookings- Create new bookingGET /api/bookings/:id- Get booking detailsPUT /api/bookings/:id- Update bookingDELETE /api/bookings/:id- Cancel booking
GET /api/guests/all- Get all guestsPOST /api/guests- Add new guestGET /api/guests/:id- Get guest detailsPUT /api/guests/:id- Update guest
GET /api/rooms- Get all roomsGET /api/rooms/available- Get available roomsPOST /api/rooms- Add new roomPUT /api/rooms/:id- Update room
GET /api/billing/payments- Get all paymentsPOST /api/billing/payments- Process paymentGET /api/billing/adjustments- Get adjustments
GET /api/reports/dashboard-summary- Dashboard statisticsGET /api/reports/revenue- Revenue reportsGET /api/reports/occupancy- Occupancy reports
Username: admin
Password: password123
Note: Change default passwords in production!
npm testAutomatically deployed to Render on push to main branch via GitHub Actions CI/CD.
Proprietary - Database Project
Database Project Team