Skip to content

Instantly share code, notes, and snippets.

@mayank8318
Last active September 22, 2020 10:49
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save mayank8318/60103c5e91d55fa175309dba1a518bdc to your computer and use it in GitHub Desktop.
Save mayank8318/60103c5e91d55fa175309dba1a518bdc to your computer and use it in GitHub Desktop.
Final project report for GSoC 2018 - Mayank Vaidya(mayank8318)

GSoC 2018

During GSoC 2018, I worked on FOSSASIA's Open Event project. The Open Event Project offers event managers a platform to organize all kinds of events including concerts, conferences, summits and regular meetups. The components support organizers in all stages from event planning to publishing, marketing and ticket sales. Automated web and mobile apps help attendees to get information easily. It has two main components:

  1. Open Event Server
  2. Open Event Frontend

The goal of the project was to complete the remaining features in v2 and prepare it for release. The main purpose of v2 is to decouple the previous implementation where the frontend & backend were tightly coupled. As the server is used in other platforms as well like the android app, the tight coupling in v1 was making development difficult and inefficient. Hence, it was decided to decouple the frontend and the server. For the API server, JSON API specification was followed and Flask-REST-JSONAPI was chosen as the API framework. The frontend is designed using Semantic UI. The UI is responsive and robust. Ember-data is used to manage all the API requests made to the API server and Ember JS is the frontend framework.

Goals Achieved by me during GSoC 18

The following tasks were completed by me in this summer:

  • Fix bugs in the attendees model and create appropriate migration
  • Enhance notification API response by adding an action field
  • Test everything and fix errors while migrating to Python 3
  • Write export tasks for the following and implement the same in the frontend:
    • Exporting the event as iCalendar file
    • Exporting the event as xCalendar file
    • Exporting the event as pentabarf XML file
    • Export orders of an event as a CSV
    • Export orders of an event as a PDF
    • Export attendees of an event as CSV
    • Export attendees of an event as PDF
    • Export sessions as CSV
    • Export speakers as CSV
    • Export sessions as PDF
    • Export speakers as PDF
  • Add endpoint for checking if an email_id is available
  • Fix bugs in notification preferences api.
  • Add a check for duplicate speaker creation
  • Add cookie policy statement in the database and implemented it in the frontend.
  • Add OAuth login via Facebook in the server and the frontend.
  • Fix ticket panel in create an event page
  • Update ember models table from v1 to v2 throughout the frontend app. There were major changes in v2 so I had to change significant amount of code in the app.
  • Add a script to publish the frontend repo to GitHub pages after every commit. The deployment is live here -> https://fossasia.github.io/open-event-frontend/
  • Implement and complete the Export tab in the manage event dashboard
  • Fix bugs and do minor enhancements in the event creation wizard
  • Implement private CFS on the frontend
  • Link session with speaker and vice versa when it is being created
  • Enable uploading slides in session creation form
  • Implement the explore events route (search using event type, category, sub category, location and date)
  • Implement admin -> messages route
  • Implement new custom attendeee form while placing an order
  • Implement search on the home page

I was also actively participating in the organization's chat channels and reviewing my fellow developers' pull requests.

Screenshots

App Screencasts

My Contributions

Open Event Server

Open Event Frontend

I have also reviewed a few PRs in the Open Event WebApp project.

Social outreach

Presentations

Personal Deployments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment