GithubHelp home page GithubHelp logo

gdgmad / gdgmadevents Goto Github PK

View Code? Open in Web Editor NEW
7.0 6.0 4.0 1023 KB

Let's Build together! gdgmadevents is a repository for our database of events and any software that YOU choose to make around it. Check out our readme!

License: MIT License

TypeScript 16.51% HTML 8.02% JavaScript 48.96% CSS 9.90% Python 4.00% Java 3.24% Objective-C 9.37%
android actions-on-google firebase react react-native flutter ios swift typescript javascript

gdgmadevents's People

Contributors

aniketsk avatar nikhil-thakkar avatar nikthakkar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

gdgmadevents's Issues

Add more info about Lets build

Currently the readme contains very less information about the lets build program. We should add a section there mentioning it in detail.

Flutter App Ideas / Preview

Home Page

Top Carousel

The idea is to have infinitely scrolling cards, which would contain a card for an upcoming event and the other cards would contain images from previous meetups (currently containing placeholders) or anything for that matter .

Grid Of Meetups

This Grid contains upcoming and past meetups marked with a chip / flag (currently not present).

Each card in this grid should contain very minimal amount to data (Date, Time, Etc). Each card contains a Location Button which on clicked takes the user to Google Maps.

Event Page

Top Card
The top card would contain basic details about the event.

Speakers List

The Speakers are listed out in this beautiful card like format, the accent color for the speaker (currently red) will be extracted from the image.
If a user on the image of the speaker, the search ui would be shown up and other talks form the speaker would be shown off.

Google Maps

This Container shows the location of the meetup.

The Like / favourite Button
The like button should add this meetup a list of "favourite" , also the like button should add this meetup to the users calendar!

Try the app.

Git.

Leave your Thoughts, Ideas, Suggestions down below

JSON api response varies

When I hit refresh, the JSON changes:
first fields for various refresh states:
venue, date, desc

Creating a new meetup on meetup.com when a new event is pushed to the db and activated.

The back story:
New events can be written to the db by the admins via the admin panel.
There will be an optional flag to make it live on meetup.

The problem:
This requires publishing the event via meetup apis. However, since this is a call to an external API, we'd normally have to get a paid plan to do that.

Proposed solution: Trading time for money.
Here's how we can totally legitimately get an integration like that going without moving to a paid plan.

  • New events are pushed by the admin console to the firestore db.
  • Another always on system, such as a raspberry pi, is running an application that is monitoring the firestore as well
  • This application (could be a node server or kotlin native), uses the firestore like a client application. Just watching the db for changes like anyone else.
  • This application, when it observes that an entry has been made to the db, kicks off the api call to meetup on its end. Bypassing the need for an external api call from firebase directly.
  • Whatever the result of the api call is, is written back to the db so the firebase application is aware of the result.

Drawbacks
While the pi does stay up 90% of the time, it's possible that the net's down, or there's a power cut or something else has taken the pi offline.
This is actually automatically dealt with, since the next time the pi comes back online, it will read the db and make the api call at that time.
Since the firestore is the single source of truth, this isn't going to go out of sync though we may need identifiers on it such as 'meetup api call in progress' to know if there is going to be a delay.
Therefore, under normal circumstances if we're not rushed, this delay of maybe hours? Shouldn't matter.

Discussion
This is one proposed solution to staying on a free plan and still achieving everything we wanted.
I maintain a pi that's always on anyway, so I could easily host this.

Thoughts? Ideas? Code to propose?

Google form Integration

This relates to #16.

The ask here is to automatically trigger a google form creation as soon as a event is inserted into Firebase DB.
Make sure the form url is not exposed before we actually host the meetup for that month.

License File

The license is yet to be added. What would the license be? MIT or GNU GPLv3?

Additional event related info required in JSON

Following are some of the suggestions received:

For all meetups

  • GDG MAD twitter handle - To get in touch with us with queries, feedback or gif wars.
  • Topic description - Each talk should have a description to explain better what will be covered in the talk.
  • Banner image url - URL to the speaker bio banner we create
  • Tags for sessions - Each session can have tags eg: mobile, design, ml, etc.

For Past meetups:

  • Feedback url - URL to submit event feedback
  • Photos - Photos of the events : either direct urls or a link to view them all
  • Session materials - Link to view / download the presentations, codelabs covered in the sessions.

Admin Panel enchancements

This relates to #16.

Changes requested:

  1. Add a description text field for each talk session.
  2. Add related tags for each talk session. For e.g.
    If the talk is related to some kotlin feature, then the tags can be mobile, android, kotlin, feature.
  3. Ability to edit a previous/current event.
  4. If possible use of service worker to do some background task. In this case creating an event in Meetup. More details here #6.

Google Photos Integration

This relates to #16.

Check the feasibility of folder creation using Google Photos API for each month's event. This is where all the events photos would be uploaded for the particular month.

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.