Git Product home page Git Product logo

events's Introduction

Build Status

HasGeek Events

A database of tech events in India.

What kind of events can be listed?

(This is subject to change)

  • Developer-focused events in India

How do add my event?

Add your event details to the _data/events.yml file and send a Pull Request to this repository.

Travis will build the branch and run some tests to make sure the data is in the right format and all the mandatory fields exists.

The fields are as follows (all mandatory):

  • name: short-hand-name-with-hyphens
  • title: Full name of the event in <80 characters (In sentence case)
  • city: A valid city from the list at _data/cities.yml
  • venue: Venue name in <40 characters
  • start_time: YYYY-MM-DD HH:MM (24h format in IST)
  • end_time: YYYY-MM-DD HH:MM (24h format in IST)
  • url: A link to a valid URL for the event.
  • blurb: A short description of the event. Must be <300 characters.

How will it get approved?

Someone from our team will review the Pull Request once it is sent. All communication will be in public on the PR itself.

Support

If you have any questions, you can open reach us on the Friends of HasGeek Slack team. Ping @karthik or @dunebuggie there.

API

(This is work in progress) You can fetch a list of all the events here https://hasgeek.github.io/events/api/all.json

Build instructions

Start by cloning this repository into your computer

git clone https://github.com/hasgeek/events.git

Install rbenv to manage your local ruby version. If you haven't configured this, you'll get write permission errors on MacOS as Apple has implemented System Integrity Protection, preventing write access to certain system files.

rbenv can be install by running brew install rbenv if you have homebrew installed, otherwise run curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash

Run rbenv version to check which version of Ruby you're running. If it returns system, you'll need to install or switch to a version of Ruby for local use.

This repo needs ruby version 2.3.3, therefore run rbenv install 2.3.3.

Switch to ruby 2.3.3 to use locally, rbenv local 2.3.3

Run gem install bundler to install the ruby gem bundler

Navigate to the cloned repository with cd. if you cloned it in Documents, you'll get there with cd Documents/events.

Run bundle install to let the bundler automatically install all required packages for the build.

Go grab a cup of coffee while this is running, it could take a while. Next, when you're in the events folder, run bundle exec jekyll serve. This will create a local server for you, which can be accessed by typing http://localhost:4000/events/

Ta-da!

events's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

events's Issues

Blog posts and other information

Also invisible from hasgeek.com

Should maybe have:

  • Code of Conduct
  • Access maps to common venues
  • latest newsletter
  • newsletter signup
  • latest blog posts
  • featured blog posts (childcare, for example)

Improve schedule layout

Reported here: https://twitter.com/anandology/status/887978805507346432

@anandology: the time scale on the schedule page is very confusing. 10 mins is 3x longer than 35 mins.

Related: hasgeek/android#3

Possible solution

Calculate the greatest common factor between all the session and break durations, use that as the time for each rowspan, then assign every session item a multiple of the rowspan.

Best case: you have all the sessions and break equally spaced out (so GCM is the same as the duration) so it'll become a simple table with no item needing a rowspan of more than 1.

Worst case: you have 11 hours (9am to 7pm) all 5 minutes apart - which is Funnel admin's granularity. Which gives you a GCM of 5, so 132 rows in the table and items with varying rowspans.

Standardise format for date location

Currently, our event websites and funnel use a datelocation field to indicate the date and location of an event. This is a freeform text field that's shown as-is next to the event information

The reason it is a freeform field, and not constructed from the date and venue data is so it's flexible for cases where the event might not be so straightforward.

This, however, is a double-edged sword as the lack of a format has made it wildly inconsistent based on who has entered the data, like on talkfunnel.com
screen shot 2017-10-17 at 11 40 21 am

On hasgeek.com, however, the datelocation field in the UI is generated from the start_time, end_time, and city information, with little tweaks like ignoring the time component when the event is more than a single day. (Relevant code)

screen shot 2017-10-17 at 11 44 46 am

I favor the hasgeek.com approach, and to generate the field from fixed data. If there any exceptions, it'll force us to model a solution to that problem, like multi-day events (For example, every Sunday for 4 weeks) - which we haven't really discussed yet.

Have an explicit list of event `types`

Currently, HasGeek does a wide variety of events - Conference, Workshops, Meetups, etc.

We need to flag every event we do as a specific type, this will help keep events of the same type consistent while still allow each type to have its own special requirements.

Workshops use instructor while conferences generally use speaker, and meetups may use register or rsvp instead of tickets, etc.

We need an exhaustive list of event types.

A better service worker cache strategy

The current implementation of the service worker uses sw-precache to cache resources.

This approach caches all the pages assets and updates the cache in the background.
This leads to a problem when you first visit the site after an update. You get the old version of the assets and need to reload to get the latest version. This is less than ideal on something like event websites which tries to be a single page site, with no actual page reloading happening until you visit the site again.

Possible fix

Notify the user that the site's content needs to be updated (and prompt for a reload). It's also the strategy suggested by Google

Show current ticket price for an event

Since hasgeek/boxoffice#167 has been merged (❤️ @shreyas-satish) we can specify the items_ids we want to render in the widget, and how to order them.

A side effect of this is that we can use boxoffice's /order/kharcha API to get the current price for a ticket and render it.

This will require us flagging a specific item id as the primary one, which is usually the most common ticket people may purchase.

One-stop event data

We have numerous events coming up, but they are everywhere - newsletter, Twitter, Google calendar, Trello - except the website. Need to find a way to feed all the output sources from a single input.

Update Cerberus library

Cerberus, the validation library, has a new release 1.2 which introduces a bug around custom rules - pyeve/cerberus#379

The current fix is to lock it to version 1.1 - 45fbdb7

Once this issue been patched, we should test and update back up to the latest version.

Give website visitors value without having to buy a ticket

It's good to provide value to visitors (potential attendees) without requiring them to buy a ticket. For instance, https://fifthelephant.in/2018/ does not provide any value to a visitor save for informing them about the conference agenda.

An easy way to start doing this is by embedding the YouTube playlist for the previous editions. It is also be useful to measure the increase in website engagement and conversions, this change produces.

Centralise venue data

Similar to sponsors, venue data should be centralized and referenced by a unique name, while still allowing per-event venue information if needed.

Instructors/Speaker cards for pages

Add a new front matter value called instructors/speakers (both should be allowed) section to pages. Useful for workshop/talk pages.

name,image_url, bio fields are compulsory.

layout: workshop
instructors:
- name: Rahul Mathur
  image_url: https://images.hasgeek.com/embed/.....
  bio: |
  Engineer @FreeCharge
  Windows and iOS dev
  Alpacas are evil
  url: https://twitter.com/weemundo

Show relevant jobs

Hypothesis: Seeing what jobs in the domain pay, will help justify paying the cost of the ticket.

For people who are new to a domain, how do they justify attending a conference that costs several thousands of rupees? This is especially a problem where the attendee's ticket is not reimbursed by the company.

I propose we import relevant job posts from Hasjob with the pay graph to help provide some context around the domain.

Test: Does showing jobs result in better conversions?

Tags for events

Events can target specific interest groups, such as data science, devops, frontend engineering, etc.

These can be fixed list of tags (in a tags.yml) you can attach to an event, and limit to 2 or 3.

These can then be used for sorting/filtering.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.