Skip to content

Parrisu/TheStack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stack Logo
The Stack: Push. Pop. Progress.

Static Badge Static Badge Static Badge

View The Website Live Here!

Final Team Project undertaken as members of Skill Distillery

Overview

The Stack is a social platform designed for programmers to find local meet up events anywhere in the US.

Description

As a user on The Stack you can search for and view groups in your area, and view events that are within public groups. By logging in or signing up you can view private events for groups you are in, and create groups or events.

Implementation

Our Database Design

Our Database schema

Technologies and Methodologies Used

Our stack is a SQL, Java, JPA, Spring BOOT, Angular stack due to its practical scalability and real world use. These technologies enabled us to achieve a product we are proud of.

During planning our team used essential tools like eraser.io, figma, and trello to create a comprehensive design before implementation. Measure twice, and cut once.

Our team focused heavily on integrating a agile workflow into our process. We wanted to mimic a production environment as much as we could. We started each day with a scrum meeting, we then went through our trello task board and assigned tasks to. To work on tasks we used a 50/50 combination of side-by-side work, and pair programming.

We embraced git branching and used a branch model inspired by git flow. We used our main branch as our development branch along with github rules to restrict updates to require approvals. Our workflow enabled us to work efficiently and effectively.
Check out the network graph here!

Languages: Java
Web: HTML, CSS, Bootstrap 5.3, Angular, NgBootstrap, JavaScript
Database: SQL, Spring Data, JPA, JDBC, JPQL, Hibernate
Methodologies: TDD, Agile, Scrum
Backend: Spring, Spring Boot
Configuration Management: Git
IDE: STS4, Eclipse, VSCode

Lessons Learned

  • Branching requires all members to be aware of other's current workload. Conflicts can happen fast and suddenly.
  • Designing can make or break your entire application/idea. Concepts need to be fully drawn out before starting production.
  • Using external APIs like google require API keys. This made us branch out and find that multiple websites like Linkedin and Meta have developer sections where you can gain access to API keys.

Stretch Goals

  1. User messaging
  2. User friendships
  3. Notifications

How to Download and Run

To set up this project to run on your own computer follow the steps below.

  1. Download the ZIP at the top of this page under the code dropdown menu.

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

  3. Install the DB. * Open terminal. * Navigate to your workspace that contains the db folder. ex.

        ```
        cd ~/SD41/Java/FinalProject/DB
        ```
    
    • Once here, run the command

        ```
        mysql -u root -p < stackdb.sql
      
        root
        ```
      
  4. Make sure MAMP is running on port 3306, and launch from the Spring Boot Dashboard.

  5. Serve Angular

    • Open a new terminal tab.

    • Nagivate to ngStack ex.

         ```
         cd ~/SD41/Java/FinalProject/ngStack
         ```
      
    • Once here, run the command

         ```
         ng serve
      
         ```
      
  6. Open your browser to localhost:4200

Otherwise just head to the deployed website here.

Thanks for visiting! - The Stack Team

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published