GithubHelp home page GithubHelp logo

ayoubprova / frinder-app Goto Github PK

View Code? Open in Web Editor NEW

This project forked from frinder/frinder-app

0.0 1.0 0.0 2.81 MB

Frinder is an android app that matches you with people nearby who are also looking to meet new people

License: MIT License

Java 94.45% JavaScript 1.57% Python 3.98%

frinder-app's Introduction

Frinder Build status

Frinder is an android app that matches you with people nearby who are also looking to meet new people (not focussed on dating).

Have you found yourself in the following situations when you were bored and could use some conversation?

  • Waiting for a flight alone
  • Taking the train by yourself
  • At a bar alone
  • Having a meal by yourself at your office cafe

We are sure everyone has some time been in such a situation where they were alone and wouldn't mind meeting a new person. However, the initial conversation or ice-breaker can be particularly awkward.

This app links to your Facebook profile and has a profile that contains basic information about you. On opening the app, you can see nearby people in the area and sent them a notification incase you'd like to meet them. Similar to Tinder, the app notifies you only when the other person reciprocates interest in meeting you. Some additions to this would be a chat functionality and the ability to create interest-based groups (e.g. an IoT focussed ad-hoc group at a computer science conference).

User Stories

Profile

  • User can sign into Frinder using Facebook login
  • Query user profile data from facebook
  • User can click on a person to view their detailed profile
  • User can edit/fill their profile (desc, choose interests)

Discover Users

  • User can view list of active people nearby
  • Ask for the required permissions (location)
  • Update the server with the user's location updates
  • User can edit their search settings (radius, gender, age, interest, turn off discoverability)
  • Setup geofire for faster location queries
  • Auto refresh discover feed

Requests

  • In a notification view, user can view their friend request(s) and contact details of accepted friends
    • Use Fragments + Tabs to differentiate between sent, received and accepted requests
  • Update the server with responses to the requests
  • Add an unread mechanism to highlight new request
  • Add in-app badging to notify user about new requests

Messages

  • User can send/receive messages in the app
  • Add a messages view to view your recent messages
  • Observe changes to the message thread and thread list while on the view and update UI
  • Add in-app badging for unread messages

General

  • Setup firebase
  • Error handling (permissions, internet connectivity)
  • Setup automated builds to catch build failures
  • Create scripts to help with testing
    • Add scripts to generate data for random users along with profile pictures
    • Add scripts to clean up/update db entries on changes to the scheme
    • Add scripts to clear data added while testing

User interface

  • Explore different list view options (card stack, single card)
  • Improve the UI of the app (icons, color scheme, launch screen)

Bonus

  • Show a list of suggested nearby places to help choose the location for the initial meet (hooked to Facebook Place search)
  • Allow the user to ephemerally share their location so as to allow new contacts to find them
  • Add app shortcuts to allow users to easily perform certain actions
  • Fire push notifications to notify users when the app is not active

Ambitious

  • Find common attributes with the person
    • Mutual friends
    • Similar visited places
  • Link to Instagram and LinkedIn accounts
  • Show people around you on a map
  • On meeting, support sharing contact details via NFC
  • Extending chat to VoIP calls
  • Allow group meetups

Walkthroughs

Sprint 3

Sprint 2

                

Sprint 1

Wireframe

Wireframe

Open-source libraries used

  • ButterKnife
  • ChatKit
  • CircleImageView
  • Crashlytics SDK
  • Facebook SDK
  • Firebase SDK
  • GeoFire
  • Glide
  • Parceler
  • ripplebackground
  • recyclerview-animators

frinder-app's People

Contributors

donygeorge avatar sanaltsk avatar

Watchers

James Cloos avatar

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.