Skip to content

Instantly share code, notes, and snippets.

@agbilotia1998
Last active August 21, 2018 18:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save agbilotia1998/72a5928b7b1b9daf7593f289eb6e746d to your computer and use it in GitHub Desktop.
Save agbilotia1998/72a5928b7b1b9daf7593f289eb6e746d to your computer and use it in GitHub Desktop.
GSoC18 Work product

GSoC 2018

Google Summer of Code 2018 Final Submission Report

Overview

This Summer I worked on Open Event Webapp project. The Open Event Web app generator allows event organizers to generate static website for their event. The project consists of two componenets:

  • The web app generator and
  • The customized event website

The generator provides option to customize the event website by providing features such as multiple themes, integration with the google calendar, multiple session styles, Google Analytics integration and more. The generated event website can be deployed to gh-pages or on a FTP server. The event-organizer is provided the link to zip file of event-website uploaded on cloud. The aim of the project was to integrate the web app as a microservice to the main eventyay platform and add more features to the generator and the event-website.

Code Contributions

Community Bonding

  • Fixed the Heroku deployment of the project.
  • Fixed PNG download of schedule in list view.
  • Fixed calendar view of schedule.
  • Added selenium tests for the implemented features.

Phase I

  • Implemented task-queue to handle multiple requests. The multiple requests when received at same time are handled one by one with the help of task-queue.
  • Added feature to view slides and videos for any session.
  • Improved the structure for file-upload of JSON. Every uploaded file is assigned an ID which resolved the problem of app crashing due to same identifier.
  • Corrected the REST API implementation.
  • Parallelised the Travis build of the project. The reduced time for build went down to around 12 minutes.

Phase II

  • Improved the user interface for dark-theme.
  • Integrated Google Calendar API for sessions. The sessions can be added to google calendar of the user.
  • Implemented push notifications using Google Calendar API.
  • Configured ES Lint and added pre commit hook. This resulted in A grade codacy certification for the project.
  • Added samples for google-calendar and dark theme to the overview site.

Phase III

  • Implemented the PDF/PNG download of complete calendar view.
  • Integrated attendees API with the project.
  • Added samples for events in 2018 to the overview site.
  • Added selenium tests for all the implemented features.
  • Added speakers page on open-event-frontend.
  • Integrated roles and permissions API in admin panel.
  • Solved minor bugs on open-event-frontend.

Screenshots:


Session videos

Session slides

Light theme

Dark theme

Add session to google calendar

Session added to google calendar

Email Notifications

Pop up and offline notifications

PDF download of calendar view

Selenium tests for all the features

Open Event Webapp : link

Open Event : link

Open Event Frontend : link

Other:

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