Git Product home page Git Product logo

office_hours_waitlist's Introduction

OFFICE HOURS

A handy web-app that is used to provide mentors with an easy way to view and organize student queries during their office hours.

What makes us different?

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.

STEP 0: Organizing project

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

STEP 1: Running SpringBoot Backend

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.)

Getting started

  1. 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.
  2. 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.
  3. 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".
  4. 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.
  5. Once the servers are all running, go to the "Welcome" tab in manager-osx and click on "Go to Application".
  6. 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!

STEP 2: Running React Native App:

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.)
  1. Change to the project directory by running cd .\office-hours-waitlist\
  2. Run the app by typing in npm start.

This project was developed by Harsh Thakkar, Anjali Gali, and Jack Savage.

office_hours_waitlist's People

Contributors

hthakkar02 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.