DineRate is a restaurant rating and review application built with React Native (Expo) on the frontend and Node.js + MongoDB on the backend.
- Project Documentation
- User Story
- Product Backlog
- Software Architecture Models
- Sprint Retrospective (Module 6)
- Presentation Slide
- Sprint 1 Presentation
- Documentation Report
- Final Presentation
gatorhong-dinerate/
├── client/ # React Native (Expo) frontend
│ ├── app/ # App screens & routing (Expo Router)
│ ├── assets/ # Fonts and images
│ ├── components/# Reusable UI components
│ ├── constants/ # Style and config constants
│ ├── context/ # Global context (auth)
│ └── services/ # API interaction logic
├── server/ # Express backend with MongoDB Atlas
│ ├── config/ # DB configuration
│ ├── controllers/ # Route logic
│ ├── middlewares/# Middleware (auth)
│ ├── models/ # Mongoose schemas
│ └── routes/ # API route definitions
└── README.md # Project documentation
Follow these steps to set up DineRate for the first time on your machine:
-
Clone the repository:
git clone https://github.com/GatorHong/DineRate.git cd DineRate -
Install dependencies for both frontend and backend:
-
Frontend:
cd client npm install -
Backend:
cd ../server npm install
-
-
Install Expo CLI globally (if not already installed):
npm install -g expo-cli
-
Create a
.envfile inside theserver/folder:MONGO_URI=<your-mongodb-atlas-connection-string> PORT=5000
Open a terminal and run:
cd server
npm run devThe backend will run at: http://localhost:5000
Open another terminal and run:
cd client
npx expo install expo-location # Run once if not installed
npx expo startYou can preview the app using:
- Expo Go app on your physical device (scan the QR code)
- Android Emulator or iOS Simulator
- Development builds: Expo Dev Builds
Every time you start working on the project:
-
Start the backend:
cd server npm run dev -
Start the frontend:
cd client npx expo start