Quorum is a social media platform designed for students. Its goal is to connect students attending the same school.
Quorum has multiple avenues of social interaction, involving posts
and private messages
. After creating an account and selecting the school you attend, you will be given a surplus of actions.
As a user, you can:
Update
orDelete
your profileSearch
any content within your school
- including professors, students, and groups
- Join social groups started by other students
Create
posts to those groups or start your own- Follow and Unfollow other students as well as Removing Followers from your page.
- Enroll or Remove active classes from your schedule
- this is purely a social action, to show friends your schedule
- Send or Recieve
Messages
to and from other users at your school - Leave a review for current instructors at your school
The database schema is centered around the user, everything is related to the user, and the process of designing the database was focused on supporting the experience of the user on the site. This involves a lot of different types of patterns, and our goal was to normalize these as much as possible to provide a cohesive usage of the entities throughout the backend.
Languages: Java
Web: HTML, CSS, Bootstrap 5.3
Database: SQL, Spring Data, JPA, JDBC, JPQL, Hibernate
Methodologies: TDD, Agile, Scrum
Backend: Spring, Spring Boot
Configuration Management: Git
IDE: STS4, Eclipse, VSCode
When databases grow into multi-keyed monsters, the mapping requirements for what seems like simple actions can become quite difficult. This is why we made key choices to structure our entities in the most supportive way possible, carefully crafting our relationship representations in both the database schema, aswell as the entity mapping within Java. This involved a lot of careful consideration about fetch types and ownership amongst other aspects. One of the most important tools that we leveraged during this project was communication, serving as the platform for every aspect of our project, we understood that by facilitating proper communication, we could design and build with great efficiency. Along with this, we gained a huge benefit to our skills of technical planning, by focusing on this aspect with highest priority, we achieved a more cohesive structure, enhancing user experience.
- Enrolling students in courses.
- Separating students by school ( limits their interaction )
- Allowing the students to
Rate
professors in their school.
To set up this project to run on your own computer follow the steps below.
-
Download the project at the top of this project.
-
Import the project. * Open your preferred IDE, and open an existing or new workspace. * Right click inside of your project explorer, click import, then
existing project into workspace
. -
Install the DB. * Open terminal. * Navigate to your workspace that contains the db folder. ex.
``` cd ~/SD41/Java/MidtermProject/DB ```
-
Once here, run the command
``` mysql -u root -p < quorumdb.sql root ```
-
-
Make sure MAMP is running on port 8085, and launch from the Spring
Boot Dashboard
. * Click on the globe after it's up and check out the site!
Otherwise just head to the deployed website above.
Thanks for visiting! - Quorum team