Skip to content

jasukej/study-spotter

Repository files navigation

StudySpotter 🔎

StudySpotter Logo

Build Status License GitHub issues GitHub forks GitHub stars

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.

Table of Contents

Features

🌎 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.

What's Next? 🚀

  • 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.

Built using

  • Frontend:

    Next.js React Tailwind CSS Mantine UI Google Maps API

  • Backend:

    Node.js Prisma MongoDB Redis

  • APIs and Libraries:

    nlptown @xenova/transformers Google Maps API Cloudinary

Installation

Prerequisites

  • Node.js and npm
  • MongoDB
  • Redis

Steps

  1. Clone the repository:

    git clone https://github.com/yourusername/study-spotter.git
    cd study-spotter
  2. Install dependencies:

    npm install
  3. Set up environment variables: Create a .env file 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
  4. Run the development server:

    npm run dev
  5. Open the application: Open your browser and go to http://localhost:3000.

Usage

  1. Search for Study Spots:

    • Use the search bar to filter study spots based on your preferences.
  2. View Study Spot Details:

    • Click on a study spot to view detailed information including user reviews, ratings, and open hours.
  3. Add Reviews:

    • Write reviews and rate the study spots you have visited.
  4. Get Recommendations:

    • View recommended study spots similar to the one you are currently viewing.

Contributing

We welcome contributions to improve StudySpotter. Please follow these steps to contribute:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/your-feature-name).
  3. Make your changes and commit them (git commit -m 'Add some feature').
  4. Push to the branch (git push origin feature/your-feature-name).
  5. Create a pull request.

License

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! 📚✨

About

Website to discover and search for study spots.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published