- Group 34: Daniel Larkin, Dhyan Patel, Kieran Hulsman, Nihal Menon
- 📷 Project Screenshots:
Screenshots.md
🧸 Toy Datasets
users.csv
countries.csv
locations.csv
trips.csv
members.csv
activities.csv
⚡Testing
test-sample.sql
test-sample.out
📖 Kaggle Datasets: Location dataset, Country dataset
📶 Data Transformation
$ cd server/scripts
$ python3 clean_kaggle_data.py
🤖 Data Generation
$ cd server/scripts
$ python3 generate_users.py
$ python3 generate_members.py
$ python3 generate_trips_and_activities.py
🥇 Prod Datasets
users.csv
countries.csv
locations.csv
trips.csv
members.csv
activities.csv
⚡Testing
test-production.sql
test-production.out
- Download MySQL 8.0: MySQL download, MySQL workbench
- Spin-up server:
$ cd /server
$ npm i
$ npm start
- Spin-up & populate DB:
spin-up-db.py
creates tables, triggers, stored-proceduresspin-down-db.py
drops tables and stored-procedurespopulate.py
populates DB with production data (DB_ENV=prod
) or sample data (DB_ENV=dev
)
mysql > SET GLOBAL log_bin_trust_function_creators = 1;
$ cd /server/scripts
$ python3 -m venv env
$ source env/bin/activate
$ pip3 install -r requirements.txt
(env) python3 spin-up-db.py
(env) python3 populate.py
(env) python3 spin-down-db.py
$ cd /server
$ npm i
$ npm start
$ cd /client
$ npm i
$ npm start
Feature 1: Getting other trips to the same location (during an overlapping time period).
search_match_trips.sql
(sql query)trip.ts
(GET /connect?tid
route)connect.tsx
(React component for connecting with groups)
Feature 3: Suggest new friends as potential additions to a trip, when creating a new trip.
suggested_members.sql
(sql query)trip.ts
(POST /trip
route)addTrip.tsx
(React component for adding a trip)
Feature 5: View past trips of a potential connection trip (in connect page).
group_shared_past_trips.sql
(sql query)trip.ts
(GET /connect?tid
route - logic also done in connect route)pastTripsModal.tsx
(React Component - modal on connect page)