A comprehensive travel guide platform for Bali, featuring places, events, tours, and local experiences.
BaliGuid/
├── backend/ # Node.js Express API
│ ├── src/
│ │ ├── api/v1/ # API routes & controllers
│ │ ├── database/ # PostgreSQL models & migrations
│ │ ├── services/ # Business logic
│ │ └── lib/ # Utilities (auth, email, storage)
│ ├── Dockerfile
│ └── package.json
│
├── frontend/
│ ├── web/ # Next.js 14 Web Application
│ │ ├── src/app/ # App Router pages
│ │ ├── src/components/ # React components
│ │ ├── src/lib/ # API client, utilities
│ │ └── package.json
│ │
│ └── mobile/ # Expo React Native App
│ ├── app/ # Expo Router screens
│ ├── android/ # Android native project
│ ├── src/ # Stores, API, types
│ └── package.json
│
├── nginx/ # Production nginx configuration
├── docker-compose.yml # Development environment
└── docker-compose.production.yml
- Node.js + Express + TypeScript
- PostgreSQL + Sequelize ORM
- Redis for caching
- JWT authentication
- Cloudinary for images
- Next.js 14 (App Router)
- TypeScript
- Tailwind CSS
- Zustand for state
- Expo + React Native
- Expo Router
- TypeScript
- Zustand for state
# Start all services
docker-compose up -d
# Backend: http://localhost:5000
# Frontend: http://localhost:3000cd frontend/mobile
npm install
npx expo startFor iOS (requires Mac):
./build-ios.sh
open ios/BaliGuide.xcworkspaceFor Android:
cd android
./gradlew assembleDebugAPI runs on http://localhost:5000/api/v1
POST /auth/register- Register userPOST /auth/login- LoginGET /places- List placesGET /events- List eventsGET /tours- List tours
See .env.example in backend folder.
Private - All rights reserved
Check out the live version: baliguid.vercel.app