Git Product home page Git Product logo

chathacks's Introduction

ChatHacks

Inspiration

Technology is meant to aid people in communication. Conventional messaging applications such as GroupMe, WhatsApp, Facebook Messenger, and more work great for communicating with contacts you already have all over the world. But what about the people near you? People attending events such as large classes, sporting events, conferences, or even hackathons now have a way to communicate with one another.

What it does

ChatHacks uses a user's location to determine chat "rooms" nearby. A user can create a room with a default proximity of 100 meters. Anyone within that proximity is able to join the room.

How we built it

The app is built with the Ionic Framework. Ionic is a framework that sits on top of Angular that allows native mobile applications to be written with a web technology stack: HTML, CSS, and Typescript (Javascript with type support). The backend is powered by Google's Firebase, which is a Backend/ Database as a Service. This allows us to have a real time database for the messaging service with large amounts of concurrent users. Additionally, we are able to store and query geopoints using the GeoFire library.

Challenges we ran into

While we were all pretty familiar with git, all working on the codebase at the exact same time and working through merge conflicts proved challenging at times. Additionally, the support for locations and the cron job for room expiration was a challenge to make. Google authentication was also tricky because of native device support.

Accomplishments that we're proud of

  • A hidden easter egg :)
  • Making an app from scratch!
  • A usable product.

What we learned

We learned how to build an app, and especially how to integrate that with firebase using geoqueries. Location services was a huge hurdle.

What's next for ChatHacks

  • Squash a few more bugs.
  • Deploying to app store.
  • Adding direct message support.
  • Google Maps API for places.
  • Adjustable proximities.
  • Encryption.

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.