Skip to content

Instantly share code, notes, and snippets.

What would you like to do?

GSoC 2018

Harsimar Singh | simarsingh24

Organisation And Project

Project Description:

This summer we worked on Fossasia's Open Event Android Project. Our goal was to create a generalized events App and publish it on play store. Which we successfully accomplished, Open Event Android can be found on playstore with the name of EventYay Attendee.

With EventYay Attendee, you can browse through different events happening nearby or all over the world. You can get detailed information about the events and can even buy event tickets. The app also offers other cool features such as similar events and easy check-in using QR code. If that’s not enough, the app also allows you to favorite different events and all of them can be accessed from favorite section.

Eventyay Attendee App provides features for users like:-

  • All events by the organizers can be viewed
  • Functionality to filter out events by date, time, location and event name is present.
  • Users can buy tickets and register as attendees for any event from the App.
  • All important event details such as location, date and timing of the event can be viewed.
  • Users will be able to view all the tickets bought for an event.
  • Easy check-in using QR code for Ticket
  • Users can view similar events in the App
  • Users have also the privilege to favorite events in the App

The codebase of Open Event Android is written in Kotlin and it is following the MVVM architecture. We are using Retrofit Library for making network request, RxJava for asynchornous call and room for local caching.

My Contributions:

Community Bonding Period (April 23 - May 13):

  • Got in touch with the mentor and discussed about Project goals
  • Read Fossasia's coding conventions and spend time understanding the codebase
  • I started with Code Refactoring which helped me understanding the modules better
  • Added the feature which allowed user to submit feedback of an event
  • Fixed memory leaks in different Activities and Fragments
  • Deployed my instance of Open Event Server and Open Event Fronted on Heroku

Coding Period 1 (May 14 - June 11):

  • Started working on generalized Events Application
  • Added Events fragment
  • Also built a bottom navigation bar for switching between different fragments
  • Worked on Event Details screen which gives detailed information of selected event
  • Implemented local caching of users into room database
  • Worked on code refactoring and bug fixes

Coding Period 2 (June 12 - July 9):

  • Added utility class and moved functions in it
  • Added favorite event functionality
  • Built separate fragment for favorite events under a user
  • Added Attendee Object and API methods for attendee
  • Mapped Events to load from Database
  • Improved the UI of ticket Fragment and fixed bugs related to log out
  • Added functionality allowing user to select multiple tickets
  • Minor UI enhancements and bug fixes

Coding Period 3 (July 10 - Aug 6):

  • Added functionality to create an order
  • Removed payment methods for free events
  • Updated APK generate script to save APKs from both master and development branch
  • Added loading of user profile into database whenever used sign up or login
  • Made country hidden for free events
  • Made UI enhancements at tickets screen (added spinners for quantity)
  • Deleted Attendees on order failure
  • Updated Attendee Fragment to allow user to enter multiple attendee details
  • Updated Order placing method to take multiple attendee data
  • Added App icon and updated App name for playstore release
  • Added QR code for tickets, to allow easy check-in
  • Added functionality to continue from where left when redirected to login fragment
  • Updated attendee fragment for single ticket

Coding Contributions :


Ticket Detail Screen

Multiple Attendee Details

Ticket Selector Section

Event Detail Section

Favorite Event Section

Tickes Under User section

Search Event Section

App Settings

Edit Profile Section

Other Relevant Links :

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.