Git Product home page Git Product logo

n-sync's Introduction

N-Sync

Inspiration

I was asked to create this app for my school because of the tedious sign-in process that was taking place every single time a teacher meeting occurred. All of the teachers had to wait to physically sign in to the meetings, significantly reducing the time management and potential productivity of the meeting. N-Sync is an app to help address that issue!

What it does

Each teacher can create an account on the app, saving their personal information and meeting attendance history to the Back4App backend framework platform. On the profile page, the app displays the next meeting so that the teacher can be prepared for it. In addition to this, there is a separate page that allows the teacher to sign into an available meeting. This sign-in history is recorded for admin use. Accounts created with admin privileges can schedule meetings with different dates, times, and even locations! With these settings, teachers must be present at the meeting location and be there at the right time in order to successfully sign in. Admins can also edit these meetings at any time and view the meeting history for each user using the app. In the end, not only can teachers quickly sign into meetings with the peace of mind that their digital transactions are recorded online, but admins can also monitor meeting attendance and control meeting parameters with ease.

Devpost Link (with screenshots)

How I built it

I used Android Studio to code my project in Java. For online database CRUD operations, I utilized the Back4App backend framework based on the Parse platform. In order to utilize the Google Maps SDK API (and in the future, Google Places API) for both geolocation and geocoding purposes, I created a Google Cloud Platform account, activated the necessary APIs, and connected them with my project. I used many resources along the way, most notably the Android Developer and Back4App documentation.

Challenges I ran into

Most of the challenges I ran into included learning the commands of the Google Maps APIs that I was not previously familiar with. Additionally, I had to play around with the logic in many parts of my program in order to get the optimal result. Finally, I had an issue converting ParseObject pointers into their equivalent objects. However, I was able to solve all of these issues with the help of problem-solving skills and online documentation!

Accomplishments that I'm proud of

I'm proud of getting so much work done in these last couple of days of the hackathon. I'm especially proud of both my location-tracking feature of the app, which determines if a user's location is within a specified margin of error of the meeting location, as well as the ParseQueries that I designed to optimally display results for the user.

What I learned

Google Maps APIs, more ParseQuery skills, general Android skills (with various elements and their respective methods/operations), effectively working with Date manipulation and representation in Android

What's next for N-Sync

  • Push notifications and emails for new meetings
  • Add support for live feedback from faculty members during meetings
  • Log any errors caught (with their appropriate context) to the online database
  • Add logging mechanism specifically for debugging purposes (when the app is in production)
  • Add screen/logic for admins to select a meeting and see who attended it (rather than clicking on a user and seeing what meetings they attended or looking at the online database dashboard)

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.