Skip to content

moogret/UFClubHub_

 
 

Repository files navigation

UF Club Hub

Team Name:

OneSPOT

Team Members:

  • Sarah Galindo
  • Celine Hui
  • Laurence Georges
  • Mary Alice Hartman

Team Roles:

  • Project Master: Sarah Galindo
  • Scrum Master: Celine Hui
  • Backend Development Team Members: Mary Alice Hartman, Laurence Georges
  • Frontend Development Team Members: Sarah Galindo, Celine Hui

Programming Languages, Frameworks, and Technology:

  • C++
  • Python
  • MariaDB
  • React
  • SQL

Challenge Statement:

Students often need reliable platforms to communicate with each other and share important information. In fact, multiple clubs on the UF campus lack a specific platform where they can make announcements about their events and have to rely on social media like Instagram, Discord, and many more. Students often have a hard time looking for information about clubs because of the different interfaces used by those clubs. As a result, this process can be challenging, particularly for incoming students seeking to engage in campus life.

Solution:

Hence, providing a centralized platform for the UF club Hub that streamlines communication between organizations and their members would be helpful. In this app, each club would need to create an official account where information such as the number of members, year of foundation, and other functionalities would appear. In addition, they could post announcements about their events and add reminder functionalities for those events.

Project Vision:

FOR UF students WHO need a platform to find and view information of all available clubs, THE UF Club Hub is a web-based service THAT allows clubs to display information, facilitate communication with members, and connect with potential members. UNLIKE the current situation where clubs are spread across different platforms and are difficult to track, OUR PRODUCT provides a single comprehensive and organized platform dedicated to UF clubs and activities.

Risk Management Plan:

In order to avoid and minimize the risks identified by this plan the team will use defensive coding strategies to ensure all data is secure, prioritize comprehensive user authentication, such as two step authentification, and pre plan the database structure to prevent delays. To ensure the project is being constantly updated the team will have deadlines to meet for tasks throughout the development process. In the event that a data leak occurs the priority will be to identify the source of the leak, contain that source and prevent further data from being lost. Authentication requirements will be a two step process with a username and password combination as well as either duo push or a text message code. If this authentication process is not adequate for user protection, security questions will be introduced to the sign in process. Database and schema compatibility errors could be detrimental to submitting the project on time, proper planning is imperative to avoiding this. First, team members will identify where the incompatibility is located and how wide spread the error is. Depending on the severity of the error, team members will restructure the schema to be compatible with the required parameters. Poor project management could result in the development timeline being pushed back, so in order to reach the deadline the team will redefine what our priorities should be and reassign tasks to get back on track.

How to Push onto Repo:

Make sure you're never pushing directly onto main! Use only pull requests.

Locally (Terminal):

  1. Make sure you're on the dev branch and you're working on the most up-to-date code:
    1. git switch dev
      • Puts you on the dev branch
      • To double check what branch you're on: git branch
    2. git pull
  2. Once you've written your code, stage and commit your changes:
    1. git add .
      • . adds all the files you've changed; you can replace it with a specific filename if you only worked on one
    2. git commit -m "Describe the change"
  3. Push the changes onto GitHub:
    1. git push

Remote (GitHub):

Once agreed that dev is stable and can be merged onto main,

  1. Open GitHub online, click on Pull Requests, click "New pull request"
    • base: main
    • compare: dev
  2. Title the request with a brief description of the changes
  3. Have another team member review and approve of your request
  4. Approve merge differences

Installation and Running Instructions:

  • Python must be version 3.10, 3.11, or 3.12

After opening the project files, you will need to install Node.js from https://nodejs.org/en/download and run the following commands:

npm install

pip install django

pip install djangorestframework

pip install django-cors-headers

python -m pip install python-dotenv

pip install mysqlclient

Then run the Django server by going into the /UFClubHub/ufclubhub folder and running:

python manage.py runserver

Then in another terminal, stay in root folder run the REACT server with:

npm run dev

Sample User login:

Email: [email protected]

Password: 1234

Sample Club Login:

Username: [email protected]

Password: 1234

About

Introduction to Software Engineering Fall 2025 Final Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 56.5%
  • JavaScript 28.8%
  • CSS 12.7%
  • HTML 1.5%
  • Other 0.5%