https://docs.google.com/spreadsheets/d/1tzB7FZyj7R98kTlTe5e8taOGFv37yzAjoJMWu7ZzVLI/edit#gid=0
OneSpot aims to simplify and enhance the housing and social experiences for university students and young adults by providing a platform where users can easily find compatible housemates, post and discover various activities, and even verify housing options. We strive to save users time and effort, creating a sense of community and convenience.
OneSpot envisions a future where students no longer struggle with the hassle of finding the right housemates or participating in enjoyable activities. Our platform will be the go-to solution for seamless housing arrangements and social interactions, fostering a sense of community and convenience.
OneSpot is developed using the MERN (MongoDB, Express, React, Node.js) stack, ensuring scalability, flexibility, and a rich user experience.
-
JSON Web Token (JWT): Provides secure authentication and efficient transmission of user claims for personalized, protected interactions on OneSpot.
-
Redux Persist: Enables seamless state persistence across sessions, preserving critical data and application states for uninterrupted user experiences.
-
Progressive Web Application (PWA): Embraces PWA principles, delivering an immersive, responsive experience with offline functionality and rapid loading for a reliable user experience.
Multiple styling libraries enhance the user interface:
-
Material-UI: A popular React UI framework bringing a consistent design system and components to OneSpot.
-
Styled-components: Empowers styled components with a flexible and dynamic styling approach for a unique and attractive UI.
-
Tailwind CSS: Provides utility-first CSS for efficient styling and customization of UI elements.
Firebase Cloud Storage is employed for storing and fetching images, ensuring efficient management of visual content on OneSpot.
-
EmailJS: Used for sending email notifications to users, enhancing communication and engagement.
-
Google Maps React: Integrates Google Maps functionality to show the distance from the current location to Northeastern University, enhancing location-based features.
The OneSpot technology stack is carefully selected to deliver a cutting-edge, reliable, and delightful user experience.
https://docs.google.com/spreadsheets/d/1tzB7FZyj7R98kTlTe5e8taOGFv37yzAjoJMWu7ZzVLI/edit#gid=0
-
User Authentication API:
- Essential for user registration and login.
-
Post Management API:
- CRUD operations for housing and activity posts.
- Filter and search functionality based on various attributes.
-
User Profile API:
- Enables users to create and manage their profiles, including setting preferences.
-
Activity Creation API:
- Allows users to create activity posts, specifying details like the type of activity, time, location, and any requirements.
-
User Filtering API:
- Allows users to filter and sort the list of housing and activity posts based on specific criteria.
-
Admin Management API:
- Provides administrative functionalities, such as managing user accounts and handling reported posts.
-
Recommendation API:
- Provides recommendations to users based on their preferences and interactions on the platform.
The landing page serves as the first point of contact for users. It includes information about OneSpot, a call-to-action for login to search for homes, and an explanation of how the platform works.
This page/modal facilitates user authentication. Users can log in using email and password, sign up using email or Google/SSO.
The user homepage features a navbar with links to find housing and activities, trending content, and a dynamic section showcasing new housing and activity posts.
A specialized homepage for administrators, providing access to controls and features tailored to administrative needs.
This page displays a curated list of housing posts with filters for users to customize their search based on various criteria such as beds, bathrooms, dietary restrictions, and more.
This page presents detailed information about a selected housing post, including images, a brief intro, author preferences, and options to show interest or save the post.
Users can create a housing post by uploading images, providing post details, preferences, and perks.
A user-centric section where users can view all their previous posts, enabling easy management and updates.
A dedicated page showcasing saved housing and activity posts, providing users with a centralized view of their preferences and interactions.
This page presents a curated list of activity posts with filters, allowing users to explore and engage in various activities.
Detailed information about a selected activity post, including images, a brief intro, author preferences, and options to show interest or save the post.
Users can create activity posts by uploading images and providing details about the activity, preferences, and any requirements.
Similar to the "My Posts" section, this page allows users to view and manage all their previous activity posts.
A unified page for users and admins to update their profiles, ensuring accurate and up-to-date information.
A unique feature allowing users to earn by verifying houses before payments, enhancing trust and security.
- Mohit Bhagwanani (NUID: 002875368)
- Vishnu Paduchuri (NUID: 002292931)
- Piyush Pandey: (NUID: 002680284)
- Ajay Devmane: (NUID: 002879430)
- Design and implement the landing page's user interface.
- Develop UI for user authentication and sign up.
- Design the user interface for the homepage and admin homepage.
- Implement UI for creating posts, viewing housing posts, and managing posts.
- Implement UI for viewing and interacting with activities.
- Initiate the project by finalizing team members and the project idea.
- Conduct brainstorming sessions to derive key features.
- Create an initial object model to guide the project's structure.
- Identify REST APIs for different pages to plan the development process.
- Identify and integrate third-party APIs if needed.
- Finalize REST APIs for remaining pages.
- Complete the implementation of the 'Save posts' feature in the middleware.
- Perform any necessary integration and testing for additional features.
- Create OpenAPI specification .yaml files for API documentation.
- Set up MongoDB for data storage.
- Conduct self-learning sessions on the MERN (MongoDB, Express.js, React, Node.js) tech stack.
- Create a product requirement document and conduct market research.
- Perform testing and address bug fixes.
- Implement middleware for the landing page functionality.
- Develop middleware for user authentication and sign up.
- Implement backend logic for the homepage and admin homepage.
- Develop middleware for creating, viewing, and managing posts.
- Implement middleware for viewing and interacting with activities.
- Develop middleware for updating user profiles and handling physical verifications.
https://www.canva.com/design/DAF26VxlToA/HntJzn7oJsYqs9cIqMbrLQ/edit