Skip to content

Latest commit

 

History

History
127 lines (83 loc) · 6.01 KB

README.md

File metadata and controls

127 lines (83 loc) · 6.01 KB

Link to youtube video: https://www.youtube.com/watch?v=HslFnn2j0iM

Midpoint

Discover the perfect meeting spot with our app, making it easy to find the ideal halfway point for you and your friends!

Key features include:

Main Features

  • Meet in the Middle: Finds meeting points based on average distance between users and API reviews.
  • Recommendations: Suggests preferred stores (e.g., restrooms, parks, movies, malls, restaurants).
  • Multiple Stops: Users can add multiple stops where others can join.
  • Group Routes: All users in the same group can view shared routes.
  • Explore Map: Real-time map exploration and live route changes.
  • Real-Time Interaction: Follow other users' route changes and see live plan updates.
  • Invite Friends: Send emails to invite new users to join a plan using MailerSend API.

Other Features

  • Authentication: User login and group creation.
  • Group Profiles: Manage group information and interactions.
  • Extras: Live annotation, traffic map, sentiment analysis on ratings, and user permissions (admin, editor, viewer, etc.).

Required Elements

Frontend

  • Use a modern frontend framework: Vue

RESTful API

  • CRUD Operations:
    • Add, get, delete users
    • Add, get, delete groups
    • Add, get, delete pinned stores
    • Add, get, delete calendar events

Database

  • PostgreSQL: Supports complex queries for managing users, plans, roles, permissions, trips, checkpoints, ratings, and locations effectively.

Deployment

  • Deployed on VM using Docker and Docker Compose
  • Accessible to the general public
  • Deploy to GitHub Pages or similar

Third-Party API Interaction

  • Mapbox, Google Maps Platform and MailerSend

Authentication

  • Use OAuth 2.0 for user authentication and data modification

Additional Requirements

  • Real-Time Features:

    • Live changing routes
    • Live cursor tracking and following (like Figma)
  • Long-Running Task:

    • Generating the midpoint based on average distance, user input, and ratings. Due to the complexity of processing user input, fetching and analyzing ratings with sentiment analysis, and computing an optimal midpoint, this operation may take 10+ seconds.
  • Webhook Integration:

    • Users can view sent/read status on outgoing emails using MailerSend's webhooks.

Milestones

Alpha Version

  • Setup & Learn Vue
  • Setup Vue with Mapbox & Google APIs
  • Implement map exploration (moving around the map)
  • Design UI in Figma
  • Develop main pages' UI layout
  • Implement "Meet in the Middle" form
  • Setup group views and user profile/settings
  • Backend: Start API with CRUD operations
  • Docker setup

Beta Version

  • Implement user authentication
  • Group creation feature
  • Draw routes and directions
  • Complete "Meet in the Middle" algorithm
  • Setup invite emails

Final Version

  • Complete real-time features:
    • Live changing routes
  • Enhance and clean up existing features
  • Prepare presentation

Resources

Mapbox

Google Maps API

Additional Resources

Our Documents

Our Team: Spiders

@catherine-sun
Catherine Sun
[email protected]
@MadisonMajarais
Madison Majarais
[email protected]
@rkwan05
Rachel Kwan
[email protected]