Inspiration
The idea for ShareSphere was born out of a common struggle experienced by many university students: the constant need for various resources—from cables and adapters to tutoring and housing information—combined with the financial strain of always having to buy new items. We recognized that many students already possess these items but seldom have a platform to share them with peers. Our goal was to create a system that would not only facilitate resource sharing on campus but also foster a sense of community, reduce waste, and help students save money.
What it does
ShareSphere Project Story ShareSphere is a web application that revolutionizes campus resource sharing by:
Connecting Students: Users can sign up and log in securely, allowing them to list items they are willing to share and request items they need. Resource Listings: Students can post listings for items, study sessions, housing information, or even hobbies. Each listing is directly associated with the user who created it. Request System: When a student requests an item or service, a corresponding request is generated and linked to the specific listing. Notification Mechanism: The owner of the listing receives a notification about the new request and can review, approve, or reject it. Points & Rewards: To encourage sharing, users earn points when they successfully help others. These points can be redeemed for rewards like campus coupons or services, fostering a healthy cycle of generosity and sustainability.
How We Built It
We built ShareSphere using a modern web stack with a focus on security, scalability, and ease of use:
Backend: We used Spring Boot for our backend API, leveraging its ease of development and powerful security features. MongoDB Atlas serves as our cloud-based database, where we store user profiles, listings, requests, transactions, and notifications. JWT Authentication is implemented to ensure secure login and protected endpoints. Our JwtAuthenticationFilter extracts the user ID from the token and populates the security context, removing the need for manual user ID headers. We designed a series of services (e.g., AuthService, ListingService, RequestService, NotificationService) that handle the core business logic, such as creating listings, processing requests, logging transactions, and sending notifications. Frontend (In progress): Although the current MVP focuses on the backend, the envisioned front end will be a responsive web application that allows users to interact with these APIs seamlessly—featuring intuitive tabs for listings, requests, notifications, and rewards. Integration: We implemented a robust API flow that ties together all features—from secure signup/login to resource sharing and notifications—ensuring that each component communicates effectively.
Challenges We Ran Into
Developing ShareSphere was not without its hurdles:
Authentication Complexity: Integrating JWT authentication and ensuring that the user’s identity is securely managed across endpoints required careful design. We initially struggled with the JWT token extraction and populating the Spring Security context. Association of Data: Linking different entities (Users, Listings, Requests, Notifications) in a way that maintains data integrity and enables smooth interactions was challenging. We had to clearly define foreign keys (such as storing the owner’s user ID in listings) to ensure proper associations. Real-World Security: Balancing the simplicity needed for an MVP with the robust security requirements of a real application (e.g., protecting against XSS, ensuring secure JWT tokens) was an ongoing challenge. Conditional Logic for Notifications: Implementing an automated notifications system that reliably alerts listing owners when a new request is made—and then allows them to mark notifications as read or update them—required iterative testing and debugging.
Accomplishments That We're Proud Of
Seamless User Authentication: We built a secure JWT-based authentication system that not only logs in users but also integrates with our security filter to automatically inject the user ID into the request context. Robust Data Associations: Our backend now reliably associates listings with their owners, requests with listings, and notifications with the correct users, forming the backbone of our resource-sharing ecosystem. Automated Notification Flow: The system automatically generates notifications when a request is made, ensuring that listing owners are instantly informed and can act on them—this real-time feedback loop is central to our app's value. Extensible Design: We structured the application in a modular way, making it easy to add new features like a detailed rewards system or advanced analytics in the future.
What We Learned
Modern Security Practices: We gained hands-on experience with JWT authentication and learned how to securely manage user sessions in a stateless environment. Spring Boot & MongoDB Integration: Integrating Spring Boot with MongoDB Atlas taught us a lot about handling NoSQL databases in a cloud environment, especially with regards to data modeling and associations. API Design and Modularity: Building clear, modular services for authentication, listings, requests, and notifications reinforced the importance of clean API design, which is crucial for building scalable applications. Real-Time Notification Systems: Implementing the notifications flow deepened our understanding of real-time user feedback, an essential aspect of modern web applications.
What's Next for ShareSphere
As we look to the future, here are some exciting enhancements planned for ShareSphere:
Frontend Development: Build a fully responsive web UI using a modern JavaScript framework (such as React or Angular) to create a seamless user experience. Enhanced Rewards System: Expand the points system to include detailed transaction histories, more reward options, and integration with campus services. Real-Time Updates: Integrate WebSockets or Server-Sent Events (SSE) to push real-time notifications to users without requiring page refreshes. Mobile App: Develop a mobile version of ShareSphere to allow students to share and request resources on the go. Advanced Analytics: Incorporate analytics to track resource usage trends, user engagement, and the overall impact on campus sustainability. Improved Security: Enhance security measures by integrating OAuth, adding rate limiting, and implementing comprehensive logging and monitoring. ShareSphere is more than just an application—it’s a movement towards a more connected, sustainable, and supportive campus community. We’re excited about what we’ve built so far and even more excited about what’s next!
Thank you for being part of the ShareSphere journey!
Built With
- java
- midnight
- mongodb
- next.js
- ollama
- springboot
- typescript
Log in or sign up for Devpost to join the conversation.