OneSPOT
- Sarah Galindo
- Celine Hui
- Laurence Georges
- Mary Alice Hartman
- 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
- C++
- Python
- MariaDB
- React
- SQL
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.
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.
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.
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.
Make sure you're never pushing directly onto main! Use only pull requests.
- Make sure you're on the dev branch and you're working on the most up-to-date code:
- git switch dev
- Puts you on the dev branch
- To double check what branch you're on: git branch
- git pull
- git switch dev
- Once you've written your code, stage and commit your changes:
- git add .
- . adds all the files you've changed; you can replace it with a specific filename if you only worked on one
- git commit -m "Describe the change"
- git add .
- Push the changes onto GitHub:
- git push
Once agreed that dev is stable and can be merged onto main,
- Open GitHub online, click on Pull Requests, click "New pull request"
- base: main
- compare: dev
- Title the request with a brief description of the changes
- Have another team member review and approve of your request
- Approve merge differences
- 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
Email: celine@ufl.edu
Password: 1234
Username: WomeninComputerScience@ufl.edu
Password: 1234