SpotMeBro
SpotMeBro is a web platform designed to help students find gym partners based on their fitness level, experience, and goals. Whether you’re a beginner looking for guidance or an advanced gym-goer looking for a partner to push you to your limits, SpotMeBro aims to make your workout experience more engaging and productive.
Project Overview
The primary goal of this project was to create a fitness matching platform for students that facilitates connections with gym partners. Our objectives were to build a platform that is:
- Community-Focused: Connects students with compatible gym partners.
- User-Friendly: Provides a simple, intuitive design with clear navigation.
- Secure: Limits access to users with @hawaii.edu email addresses.
- Efficient: Provides filtering, profile customization, and partner matching.
The project was developed using modern web development frameworks and agile software engineering best practices.
Live Application Preview
Project Documentation
Technical Framework
Our tech stack demonstrates practical application of concepts learned during our coursework and experience with full-stack development:
- Next.js & React: For building a responsive, component-based user interface.
- React Bootstrap: For a clean, responsive UI design.
- Node.js: To handle server-side logic and API routes.
- PostgreSQL & Prisma: For reliable data management and schema modeling.
- Vercel: For simple, scalable deployment.
Development Process
We followed agile methodologies to ensure smooth project development and teamwork:
- Issue Tracking: Tracked development tasks and milestones using GitHub Projects.
- Version Control: Used GitHub Flow for collaborative development.
- Code Reviews: Conducted peer reviews to maintain code quality.
- Testing: Performed user testing and end-to-end testing during development.
- Documentation: Maintained comprehensive documentation to support future developers and contributors.
Key Features
SpotMeBro includes essential features to support fitness partner matching and workout tracking:
- User Authentication: Registration requires a @hawaii.edu email for secure access.
- Partner Matching: Users can find partners based on fitness goals and workout preferences.
- Profile Customization: Users can create personalized profiles to display their goals, fitness level, and availability.
- Workout Plans: Browse workout plans based on difficulty level, which are updated regularly by Admins.
- Admin Controls: Admin users can view and edit all user profiles and workout information.
SpotMeBro addresses several key issues faced by students looking for fitness partners:
- Builds Community: Encourages collaboration and networking through shared fitness goals.
- Promotes Health & Wellness: Facilitates partnerships that make workouts more engaging and consistent.
- Sustainable Platform: Reduces reliance on external gym partner apps by offering a UH-specific tool.
Challenges and Solutions
We encountered several challenges during the development process:
-
User Authentication: Ensuring only users with a @hawaii.edu email could access the platform.
Solution: Implemented secure email-based login and validation logic.
-
Database Design: Designing an efficient data model to store user profiles, workouts, and partner matches.
Solution: Created a relational database schema with Prisma and PostgreSQL.
-
Responsive Design: Ensuring the app works on both mobile and desktop devices.
Solution: Leveraged React Bootstrap to create a responsive, mobile-friendly UI.
-
Profile Matching: Designing an algorithm to match users based on fitness preferences and availability.
Solution: Built a logic-based system to match users based on profile data and selected workout preferences.
Learning Outcomes
SpotMeBro provided hands-on experience with:
- Full-Stack Web Development: Developed both the client and server-side components.
- Database Design & Management: Designed relational data models using PostgreSQL and Prisma.
- Agile Development: Used GitHub Issues, Projects, and Pull Requests to stay on track.
- Team Collaboration: Practiced effective teamwork and communication through GitHub.
- UX/UI Design: Built a simple, intuitive interface to improve user experience.
Future Development
Planned enhancements include:
- Expanded User Customization: More customization for user profiles.
- Enhanced Workout Features: Add hyperlinks to workouts for more guidance.
- User Notifications: Add in-app notifications for updates, partner matches, and admin messages.
- Mobile App: Convert the platform into a mobile app for easier accessibility.
Adherence to GitHub Hosting Guidelines
We followed GitHub best practices, including:
- GitHub Organization: Created a dedicated GitHub Organization.
- Repository Structure: Maintained a clean directory structure to support local development.
- GitHub Pages: Hosted a dedicated project page with an overview, user guide, and developer guide.
- Documentation: Maintained README, development guides, and issue tracking for collaboration.
To improve the platform, we gathered feedback from 5 community members:
- Positive Feedback: Users loved the clean design, simple navigation, and the “Find a Partner” feature.
- Improvement Areas: Users requested more customization for profile details and suggested adding hyperlinks to workouts.
- Planned Enhancements: Based on feedback, we plan to improve performance, add profile customization, and revise the workout page for better guidance.
Source: GitHub Repository
Deployment: Live Site
Project Homepage: Documentation