[opensuse-project] GSoC proposal for Events Splash Page in OSEM for Visitors.

Proposal for Idea of Event Splash Page for Visitors in OSEM Introduction: 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 wish 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. Project Goals: Now this page would be a template whose color and background images could be changed.Like for instance http://summit.opensuse.org/ is 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 situation. 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 links etc.(plugin) I will also integrate a timer using JavaScript which will show how 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. Implementation: 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 participants. 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 the view. 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 http://guides.rubyonrails.org/active_record_querying.html). 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 timeline. Timeline: 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 June 28. 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 users. About Me: 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) http://www.67street.in 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. email_id: gopesh.7500@gmail.com irc_nick: gopesh_ contact_no: 9051800354 github: github.com/gopesht Gopesh Tulsyan ROR Enthusiast, 3rd Year Information Technology, National Institute of Technology, Durgapur -- To unsubscribe, e-mail: opensuse-project+unsubscribe@opensuse.org To contact the owner, email: opensuse-project+owner@opensuse.org

Hey Gopesh On Sunday, March 16, 2014 08:30:16 PM Gopesh Tulsyan wrote:
Proposal for Idea of Event Splash Page for Visitors in OSEM
Introduction:
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 wish 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.
Project Goals:
Now this page would be a template whose color and background images could be changed.Like for instance http://summit.opensuse.org/ is 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 situation.
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 links etc.(plugin)
I will also integrate a timer using JavaScript which will show how 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.
Implementation:
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 participants.
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 the view.
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 http://guides.rubyonrails.org/active_record_querying.html).
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 timeline.
Timeline:
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 June 28.
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 users.
About Me:
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) http://www.67street.in 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.
email_id: gopesh.7500@gmail.com
irc_nick: gopesh_
contact_no: 9051800354
github: github.com/gopesht
Thanks a lot for your proposal, I will suggest please update it on melange and keep on updating it, in order to avoid any last minute hassles you may face with melange. All the best!!!!
Gopesh Tulsyan ROR Enthusiast, 3rd Year Information Technology, National Institute of Technology, Durgapur
-- Regards Manu Gupta -- To unsubscribe, e-mail: opensuse-project+unsubscribe@opensuse.org To contact the owner, email: opensuse-project+owner@opensuse.org
participants (2)
-
Gopesh Tulsyan
-
Manu Gupta