Healthy on the Hill is a web application designed to improve the health and ease of connection for UCLA students living on the Hill. It provides tools to:
- Connect gym buddies based on fitness goals and levels.
- Create personalized fitness plans by recommending gym equipment.
- View live food options on the Hill with meal ratings.
- Check live activity levels of dining halls and gyms.
JavaScript/Node.js
• bcryptjs
• body-parser
• cors
• dotenv
• express
• jsonwebtoken
• mongodb
• mongoose
• @emotion/react
• @emotion/styled
• @fontsource/roboto
• @mui/icons-material
• @mui/material
• @testing-library/jest-dom
• @testing-library/react
• @testing-library/user-event
• react-router-dom
• typewriter-effect
• web-vitals
Go
• github.com/PuerkitoBio/goquery
• github.com/andybalholm/cascadia
• github.com/gorilla/mux
• github.com/joho/godotenv
• golang.org/x/net
To streamline the setup, two bash scripts are provided for installing dependencies and starting the application.
- Clone the Repository
git clone https://github.com/sveld03/cs35l_project.git
- Install Dependencies
Run the provided installation script to check for Golang and install Node.js dependencies:
bash install
This script performs the following: • Verifies if Golang is installed. • Installs Node.js dependencies in both the healthyonthehill and backend directories concurrently.
-
Create an .env file in the HOTH-server folder. Add PORT for the Node.js backend to run on, and the MongoDB URI, ACCESS_TOKEN_SECRET, and REFRESH_TOKEN_SECRET
-
Start the Application
Run the startup script to launch all services:
bash start
This script performs the following: • Starts the React frontend. • Launches the two Go servers for gym activity and dining hall APIs. • Starts the Node.js backend for user authentication.
- Access the Application
Once all servers are running, open your browser and navigate to:
• Frontend (HOTH-client): A React-based user interface that displays the app and user data.
• Backend (HOTH-server): A Node.js/Express server for handling authentication, user data, and app logic.
• APIs: Go APIs for live gym activity and dining hall information.
Enjoy staying Healthy on the Hill! 🌟