Proposal for Idea of Event Splash Page for Visitors in OSEM
The Open Source Event Manager lacks a events specific page, that is a
unique page for every event. Due to this all the visitors who come to
the site(like https://conference.opensuse.org/osem/
) cannot gain
proper knowledge about the whereabouts of the specific event they want
to go, like schedule, countdown-timer, location, google maps for
“getting here”,no. of participants enrolled for the event and other
issues mentioned in https://github.com/openSUSE/osem/issues/21.I
to build a page that would be different for every event. This would do
two things: first all the data or statistics related to the event are
gathered in one single page and the other, the url can be used as
reference to tell other people about this particular event, because
now all the conferences are listed in one single page which might not
be important for the user. I want to add relevant features like Find
Events feature to find events around based on filtering this would
give visitors the convenience of choosing the events to go.Also some
social integration with Facebook and Twitter for publicity of the
events across social media.
Now this page would be a template whose color and background images
could be changed.Like for instance http://summit.opensuse.org/
divided into sections.This will divided into sections such as main
headings like Program,Location,Tickets,Registration,Press,List of
Sponsors,Counter for No. of Visitors and a countdown saying these
days-hours-mins left for the event.
My main focus would be to give options and feature set to the
organizer so that the splash page could more and more
customizable.This would involve building a template using
jQuery,CSS5(box-model layout) , SASS,HTML5.
Next focus would be to write a controller for the events which will
contain actions for different sections
There would be page in admin panel, where the organizer can send
emails related to an event. For example if the event is cancelled, the
organizer can write an email in this template(basically a form) and
then this would will be propagated to every registrant so that they
might not turn-up unnecessarily.This could be in many other ways by
the organiser, according to the needs and depending upon the
Then there are various design bugs and validations bugs which I am
currently working on and will try to remove in the future developments
of the project.
I will also integrate metrics using google analytics to find out no.
of visitors visiting the event page, tracking no. of clicks on various
much time is left for the event to occur.
I want to send email notifications to users who registered for the
event whenever the organizer of the event changes anything (that is
updates the event).This would keep the participant always updated
about the event. Also I could maintain a feed in the events page for
the same saying that these things got updated recently.
There would be a separate page Find Events Around You.This will
contain a google map and every event which is about to occur will be
mapped according to the place(using geolocation api of Gmaps).And
there will be a filter so that the user can filter the events
displaying on the map by dates, time, location(that is how far is the
event), this would be unique feature as people can choose to go for
events they like according to their wish and necessity.
Using Twitter integration I will display the tweets that are related
to the event,that is the tweets marked with # tag of the event will be
displayed in the event page,so that it will give the live stream of
what is going on in the arena.
Using facebook open graph integration we can post open graph stories
to users timeline saying that this person is going to an event, this
will be a great deal of publicity, also using the invite plugin the
user can invite his/her friends.
These are some goals which I wish to achieve this summers.These are
goals are not such that it cannot be met in a span of three months,
because whatever I have written above I have already implemented in
live projects and in my own pet project.
I will create a partial which would be one section of the page.This
would be customizable depending upon the parameters it receives from
the main view,that is event.html.haml.This partial would be a box and
will rendered throughout the splash page.
First section will a carousel which is essentially the gallery from
past years events.Then there will a section for describing the event
and the schedule with daywise in nav tabs.Then in the subheadings
there will be listing and description of major events of the program.
Then in the next section the page will display the availability of the
tickets(pricing,website,contact person etc.).In the next section
Location is described in details,travel and lodging for outside
The next sections will be focused on Press, Sponsors, Number of
Visitors, Countdown Timer.
The last section will be Organisers contact details and other person
involved with him/her.And the footer will contain the Google Map.
The options to customize the splash will be added in the settings tab
named “Splash Page”.This would contain all the features such as color
selection for every section that the organiser create,font select,
option for background image.These all are view level things and can be
taken care by Frontend Stack like jQuery,CSS.Also, I’ll take help from
bootstrap framework wherever necessary.The backend will require few
extra migrations in the events model for adding additional images to
I will have to create EventSplash model that would contain necessary
details about the splash page with event_id as foreign key.
Association would a event :has_one => event_splash and the reverse
event_splash belongs_to event.This is required, so that all settings
corresponding to splash page is stored properly
Regarding the backend side of things,I need to write a controller,
that would fetch data from the database store them in form of arrays
or arrays of objects,hashes which would be available in the
corresponding views to use.I will have queries that are optimized
following the models that are already built like “event.registrations
will give array of objects which are users those are registered for
the event.This way following the databse schema and associations I
will write queries that are efficient and optimized using Rails Object
Related Models(Active Record guidelines
I will also create RESTful routes so that depending upon the id of the
event the event page is rendered.Like
events/:id/:event_name(parameterized format).In the controller I will
use params[:id] to query the event from the model and perform
necessary queries to fetch data.
Now whenever the organizers update a conference it would happen in the
conference model, so in the same function I will use ActionMailer
class to write functions for sending mails.In the mailbot.rb I’ll add
a function send_mail_on_conference_update which would send mails to
every registrant of the conference.The necessary updates are fetched
from the conference model which would a call to this class with
necessary parameters to deliver the mail.Also for the feeds I would
generate seperate model call feeds and would use has_many :through
relationship to generate notifications for updates about the
conference which would be visible in the event splash page.
This requires GMaps API and this in turn requires geocoder and
gmaps4rails.Now this requires a separate controller say
find_events_controller.This would aggregate all latitude & longitude
of all events.Now these latitude and longitude can be found by
geocoder gem which takes the location name as input.Now the hash of
all long & lat is passed to build_markers function of GMaps4Rails
class and this would create an hash of markers which is available in
the view(using instance variable).Now this hash is parsed as json and
passed to a js function of Gmaps call addmarkers, this would map all
events by lat&long on the map.
This thing is simple we just need to create a twitter application and
use twitter gem to make api calls to twitter open graph to get tweets
based on hash tags.
This thing is implemented the same way, we need to make Facebook
application and ask read write permissions from the user.With the
access token we receive from Facebook endpoint we use that with Koala
gem to api calls like put_connections to post to users’ friends
For the frontend template of event splash page, I would require at
least 2 weeks.I would divide these 2 weeks in a manner so that I
create the partial first and then the main view which will be rendered
in the events page.This will be completed by June 5-6.
Then I would concentrate on the model and controller to write queries,
create hashes, arrays and array of objects that will be available in
the view.This will be completed by 1 week like around June 12.
Then I would build the routes and work on the view and controllers to
make the event splash page complete.Proper synchronisation with
backend and frontend without any errors.This would take around five
days,so around June 17 this will be complete.
Setting up Facebook and Twitter integration is implemented in the past
so I would complete this by july 7-9 (approx).This will be over by
Then I would work on admin side of things to give the admin option to
modify the splash page as mentioned above.This is the Splash Page
option in the Settings tab.Building the frontend using
Bootstrap(HTML,CSS,SASS,jQuery).Also the backend portion for adding
images and storing the settings of the splash page in the model.This
would require a week and will completed by July 5.
Then I would go on implement Gmaps for the footer of the splash page
and the find events feature for the visitors.This will require
familiarisation with Google Maps API.I know the rudimentary, so around
7-10 days.This will be completed by July 15.
The last 2-3 weeks I would want to polish things of what i have
done.Test every feature rigorously before it rolls out to be used by
Currently, I am pursuing B.Tech in Information Technology,from
National Institute of Technology, Durgapur. I love web development and
the new emerging technologies.
I am an efficient learner, I may not know things about a new
technology but if need be I would learn and deploy it in no time.I
have a 1.5 years of experience in Ruby on Rails framework.I started
working for a startup in my 4th semester
Flixstreet(https://www.flixsreet.in/about).I also worked as an intern
for Getechoed(http://www.getechoed.com), both the startups are in
ROR.Recently, I started working for my own pet project and has come to
stage where the web application has a sharing piece like that of
Diaspora, a chat engine(built in node,redis and ruby)
which is also in ROR.
When I saw the GSOC idea for adding features to OSEM, I really liked
it and decided that it’s my only chance to contribute to open source
community by learning one thing properly.I am solving issues and
reporting bugs also solving them to make OSEM even more better and
usable by more people.
3rd Year Information Technology,
National Institute of Technology, Durgapur
To unsubscribe, e-mail: opensuse-project+unsubscribe(a)opensuse.org
To contact the owner, email: opensuse-project+owner(a)opensuse.org