A handy web-app that is used to provide mentors with an easy way to view and organize student queries during their office hours.
We provide an interactive way for students to easily submit tickets and view the number of people in their queues. Mentors can create offices for their students to submit tickets for. Students, in turn, recieve information regarding their Mentors name, role, pronouns and their position in the queue.
The project should organized in the following fashion:
|___react-frontend-files
| |___ landing-page
| |___ office_hours_waitlist
|___spring-backend
| |___.mvn
| | |___maven-wrapper.jar
| | |___maven-wrapper.properties
| |___src
| | |___main
| | | |___java
| | | | |___controller
| | | | |___ model
| | | | |___repository
| | | | |___service
| | | | |___OfficeHoursQueueApplication.java
| | | | |
| | | |___resources
| | |___test
| | | |___OfficeHoursQueueApplicationTests.java
|___Database
| |___sql
| | |___mentor.sql
| | |___student.sql
| | |___office.sql
Start by setting up the SpringBoot Backend. The SpringBoot Backend handles calls to and from the frontend to the database, including API calls and instantiating the database tables.
- (NOTE: This portion of the README was originally written by Jack Savage, and is available in the spring-backend folder.)
- To run this backend, you need to run the OfficeHoursQueueApplication.java.
- NOTE: Make sure to change the application.properties values to correspond to the Database setup that was created with XAMPP.
- Also, until the docker container is set up for the SQL database you will need to run a local database to store API POST calls. I did this by downloading XAMPP.
- Once downloaded, head over to manager-osx (I'm on MAC so may be different for Windows) and go to "Manage Servers" and click on "Start All".
- NOTE: I've had trouble lately getting the MySQL Database to start and to solve this issue I go into the terminal and run "sudo killall mysqld".
- It will ask for you system's password, but after that if you try to run the MySQL Database in Manager-osx it should work now.
- Once the servers are all running, go to the "Welcome" tab in manager-osx and click on "Go to Application".
- This will open your browser and you can go to the "phpMyAdmin" tab. Here, once you start running your Spring backend, the database and corresponding tables will populate.
You now have a working database on your machine!
The React Native App contains the Front End portion of our web app, connects the Front End and Back End components of our app so that:
- TA's can create classrooms and offices to host their Office Hours for various classes.
- Students can create tickets to populate these classrooms with questions.
In order to run the React Native App, follow the steps below
- (NOTE: These steps are taken from the README available in the react-frontend files.)
- Change to the project directory by running
cd .\office-hours-waitlist\
- Run the app by typing in
npm start
.
This project was developed by Harsh Thakkar, Anjali Gali, and Jack Savage.