StudySpotter is a web application designed to help students and professionals find the best study spots in their area. Users can search for study spots based on various filters such as location, noise level, facilities, and more. The application provides detailed information about each spot, including user reviews, ratings, and real-time open hours.
🌎 Discover and Filter: Find study spots based on location, distance, institution, noise level, facilities, and categories.
🕒 Real-time information: Check real-time open hours, location, and other details for each spot.
➕ Add your own spots: Share a spot by clicking the add spot button.
⭐ Review & bookmark study spots: Bookmark your favorite study spots and add reviews to help others.
🏫 Browse your campus' study scene: View all buildings and study spots on your campus (currently supports only UBC, more institutions to come).
🤖 Get ML-generated recommendations of similar spots: Find similar spots using a cosine-similarity-based recommendation system.
- Add support for other institutions.
- Implement workflow for users to add buildings and institutions.
- Add validation for study spots and institutions.
- Semantic search.
- Profile page revamp.
- Improved user experience.
- Node.js and npm
- MongoDB
- Redis
-
Clone the repository:
git clone https://github.com/yourusername/study-spotter.git cd study-spotter -
Install dependencies:
npm install
-
Set up environment variables: Create a
.envfile in the root directory and add your environment variables:NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=your_google_maps_api_key OPENAI_API_KEY=your_openai_api_key REDIS_URL=your_redis_url DATABASE_URL=your_mongodb_connection_string
-
Run the development server:
npm run dev
-
Open the application: Open your browser and go to http://localhost:3000.
-
Search for Study Spots:
- Use the search bar to filter study spots based on your preferences.
-
View Study Spot Details:
- Click on a study spot to view detailed information including user reviews, ratings, and open hours.
-
Add Reviews:
- Write reviews and rate the study spots you have visited.
-
Get Recommendations:
- View recommended study spots similar to the one you are currently viewing.
We welcome contributions to improve StudySpotter. Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name). - Make your changes and commit them (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/your-feature-name). - Create a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
For any questions or issues, please open an issue on GitHub or contact the maintainer.
Happy Studying! 📚✨
