Giter Site home page Giter Site logo

hightechu / hightechu-academy-meetmaps Goto Github PK

View Code? Open in Web Editor NEW
1.0 9.0 0.0 2.75 MB

"MeetMaps" is a Web/Mobile App in Beta designed as an open-source project to make meeting friends more convenient. Built by the HighTechU 2021 Internship Team

Home Page: https://meetmapsapp.herokuapp.com

License: MIT License

JavaScript 3.03% TypeScript 61.51% HTML 18.91% SCSS 16.55%
high-school computer-science software-engineering web-application group-project hightechu university-of-victoria

hightechu-academy-meetmaps's Introduction

๐Ÿงญ MeetMaps

badge badge licence

Finding it difficult to meet with friends? Meet Maps let's you conviently plan meetup's with friends by locating the top 5 closest destinations to the center of your group. Now you can spend less time getting together, and more time actually together!

Join MeetMaps here: https://meetmapsapp.herokuapp.com/ -- Google Playstore App Coming Soon

๐ŸŒŽ Our Mission

After a socially difficult year, we want to be ready to bring people back together once deemed safe. Our team is aware of the importance of social interaction and has built this tool to make that as convienent as possible.

๐Ÿ“‹ Key Features

  • Create a secure account with a username, email and password.
  • Log In to your account and stay logged in until you manually log out.
  • Create a new group with a group name.
  • Access all the groups you're in and navigate between them
  • Enter a group and view it's current members
  • Invite new members to your group
  • Leave a group
  • Go to your inbox to accept or decline incoming invitations
  • View the location of all your group members
  • Get access to the top 5 most effeciant places to meet as a group
  • View info on the 5 generated locations such as rating and price.
  • Access the integrated directions feature that easily navigates you to your chosen destination.

โš™๏ธ Tech Used

  1. Ionic
  2. Angular
  3. Google Firebase - FireAuth - FireStore
  4. Google Maps API
  5. Node.js
  6. Capacitor

๐Ÿš€ How to launch locally

  1. Download or clone the repository
  2. Download node if you haven't already here: Node Download
  3. Install the ionic cli using npm install -g @ionic/cli from the command line
  4. Navigate to the local repository you downloaded and run npm i in the command line
  5. Now run ionic serve in the command line and after a minute or so your local server should automatically launch in your default browser.

๐Ÿ“ค Contributing

There are two main ways in which you can participate in the project:

Learn more in our Contributing Document

๐Ÿ“œ Code of Conduct

Open Space abides by the CNCF code of conduct. Here is an excerpt:

As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.

If you believe someone is violating the code of conduct we ask that you report it to our email [email protected]

๐Ÿ’ก Feedback

We are always looking to improve so your feedback is appreciated. Here are some ways you can give your feedback.

๐Ÿ“ข Communication

Come to talk to us!

โš–๏ธ Licence

This project uses the MIT Licence

hightechu-academy-meetmaps's People

Contributors

andrewdmaclean avatar anjalicampbell avatar dependabot[bot] avatar flytewizard avatar matthewhightech avatar trogoatdyte avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hightechu-academy-meetmaps's Issues

Find Meet location

As a user
I want to find a central location of interest
So I can meet my friends

Menu Sidebar

  1. Add a menu icon button in the top left corner of every page.
  2. Make it so this button opens a sidebar menu popup.
  3. Add buttons to the popup in order to navigate around the app.

Sign Out

  1. Add a button labeled "Sign Out" in the sidebar menu.
  2. Make it so this button logs out of the user's account and returns them to the login/signup screen.

Profile

As a logged in user
I want to see my saved profile data
So I can edit it
Profile

Fix: User Data not loading Bug

If the user manually navigates to the menu without being signed in and then signs in, their data won't load since the menu page has already been instantiated, and "ngOnInit" won't run again

Add "Meetup" Feature

  1. Add a meetup button inside the group page
  2. Have the app check if your location has changed every (x) seconds and update their current position in the data base if it's changed
  3. OnClick of the "Meet button" return all the positions from each member of the group and find the central position.
  4. Send a query to the Maps API from the center point, searching for the 3 closest locations that meet the filter requirements.
  5. Draw a pin on each location, to display location data when clicked

Create user

As a user
I want to create an account
So I can join a friend group
Sign in

Group Buttons

  1. Make groups in the group list on the Groups page into buttons.
  2. Have each button take you to that specific group's map (which displays other group members and possible meetup locations).

add a user to a group

As a user
I want to invite friends to my group
So I can have groups with people I know

Create groups

As a user
I want to be able to create or join more than one group
So that I can organize my events

"Create Group" button & popup

  1. Add a button to the Groups page labeled "Create Group".
  2. Make it so this button opens a popup, which allows you to fill in a group name and create the group.

Invite New Member

  1. Add a button on the map page of a group, labeled "Invite group members".
  2. Make it so this button opens a popup, which allows you to invite more group members via typing in their username(s).

Fix Location Buttons

Fix location buttons to direct user to correct location. This only occurs after you've selected a different group.

Project Database Setup

  1. Setup a Gmail account
  2. Setup a firebase project
  3. Connect the project to the firebase
  4. Create a sign up button that opens a popup
  5. Have the popup ask for username, email, password, and confirm password
  6. Check that there are no errors in the users data
  7. Pass the user input into the database to create the new user
  8. Log the user in and send them to their groups page

Log in

As a returning user
I want to be able to log into my account
So I can see my saved friend groups
log in

Invitations Page

  1. Add a button in the sidebar menu labelled "Invitations."
  2. Have this button take you to the invite inbox page (must be created).
  3. Have any incoming group invitations be displayed in the inbox, with buttons for accepting/rejecting the invite.

Groups Page

  1. The main page on logging on to the app should be "Groups."
  2. Groups page should have a list of the user's current groups.

Functional Log In / Sign Up

  1. Create a login button that opens a login popup.
  2. Have the popup ask for the username and password
  3. Check that both are valid inputs
  4. Check the username exists in the data base and the password matches it
  5. Throw an error if username/password is invalid
  6. If the username exists and matches the password, log the user into the app onto their groups page

Android Deployment

  1. Start an ionic angular project
  2. Make sure everything is formatted for mobile.
  3. Add capacitor to the project
  4. Add an android build to capacitor
  5. Open it in android studio
  6. Send to mobile device from android studio
  7. Deploy to app store.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.