All Projects β†’ webuildsg β†’ Webuild

webuildsg / Webuild

Licence: mit
πŸ“ Robot-handpicked list of open events and open source for designers, developers and makers in Singapore

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Webuild

Pivorak Web App
Rails App for PivorakMeetup
Stars: ✭ 64 (+3.23%)
Mutual labels:  events, open-source
Gradle License Plugin
Gradle plugin that provides a task to generate a HTML license report of your project.
Stars: ✭ 246 (+296.77%)
Mutual labels:  open, open-source
Open Source Meetup Alternatives
Open-Source Alternatives to Meetup
Stars: ✭ 191 (+208.06%)
Mutual labels:  events, open-source
Laravel Open Source Projects
A Web Artisan list of categorized OPEN SOURCE PROJECTS built with Laravel PHP Framework.
Stars: ✭ 676 (+990.32%)
Mutual labels:  open, open-source
Social Platform Donut Frontend
This is an Open Source social Platform where people can interact with Open Source expertise around the globe and work on different projects
Stars: ✭ 195 (+214.52%)
Mutual labels:  open, open-source
Comcast.github.io
The main Open Source portal for Comcast
Stars: ✭ 36 (-41.94%)
Mutual labels:  open, open-source
Rexy
Flexible and extendable recommender system based on an abstract User-Product-Tag schema
Stars: ✭ 57 (-8.06%)
Mutual labels:  open-source
Openbikesharing
Shared bikes availability in your city
Stars: ✭ 59 (-4.84%)
Mutual labels:  open-source
Open Source
πŸŽ‰ A list of GitHub issues to help beginners make their first pull request.
Stars: ✭ 57 (-8.06%)
Mutual labels:  open-source
Sustainable Oss Attributes
πŸ‘› What does a sustainable open source project lookΒ like?
Stars: ✭ 56 (-9.68%)
Mutual labels:  open-source
Module 5 Open Research Software And Open Source
Module 5: Open Research Software and Open Source
Stars: ✭ 62 (+0%)
Mutual labels:  open-source
Nordic Store
Tailwind CSS Starter Template - Nordic Shop / Store
Stars: ✭ 61 (-1.61%)
Mutual labels:  open-source
Specs
This repository includes the literature related to OpenNESS solution
Stars: ✭ 59 (-4.84%)
Mutual labels:  open-source
Auth0 Socketio Jwt
Authenticate socket.io incoming connections with JWTs
Stars: ✭ 1,093 (+1662.9%)
Mutual labels:  open-source
Yawysiwygee
Yet another what-you-see-is-what-you-get equation editor
Stars: ✭ 60 (-3.23%)
Mutual labels:  open-source
Events
Go package for routing, formatting and publishing events produced by a program.
Stars: ✭ 57 (-8.06%)
Mutual labels:  events
Dsm Storybook Example Library
Stars: ✭ 62 (+0%)
Mutual labels:  open-source
Postman
1.12.2 anarchy client :)
Stars: ✭ 54 (-12.9%)
Mutual labels:  open-source
Hiyapyco
HiYaPyCo - A Hierarchical Yaml Python Config
Stars: ✭ 58 (-6.45%)
Mutual labels:  open-source
Binda
Headless CMS based on Ruby on Rails
Stars: ✭ 60 (-3.23%)
Mutual labels:  open-source

We Build SG

Dependency Status Build Status Code Climate Coverage Status Gitter

We Build SG automatically curates a list of free public developer / design events from Facebook / Meetup / Eventbrite / ICS url / manual and open source projects from Github for the curious folks who love to make things in a particular city.

Quick start

  1. clone this project and install dependancies:

    git clone [email protected]:webuildsg/webuild.git && cd webuild
    gem install foreman thor tmuxinator
    gem install dotenv -v 0.11.1
    gem install dotenv-deployment -v 0.0.2
    npm install -g bower grunt-cli
    npm i && bower install
    
  2. Setup environment variables. Refer Environment Variables section for more details.

    cp .env.sample .env
    
  3. Start the website locally with ./run.sh

Background

Repositories curated automatically every hour:

  1. Github repositories
    • user location contains Singapore
    • repos with more than 50 watchers
    • repos pushed date less than 3 months ago

Events curated automatically every hour:

  1. Facebook selected groups
  2. Meetup.com / Eventbrite event category Technology, free, has a valid location
  3. ICS url
  4. Manually added events

API endpoints

The events, repositories and podcasts data feeds are available in public as JSON format. Please refer to the list of API endpoints

Archived data

A daily snapshot of the repos and events API V1 endpoints are stored in the archives for data analysis at data.webuild.sg.

Environment variables

Set the following environment variables on your system:

  • WEBUILD_API_SECRET (required) Used as a password when remotely refreshing the feeds.
  • MEETUP_API_KEY (required) Used to list available meetup events in Singapore.
  • EVENTBRITE_TOKEN (required) Used to list available eventbrite events in Singapore.
  • WEBUILD_AUTH0_CLIENT_ID (required): Used to retrive facebook events in Singapore. Auth0 takes care of OAuth2 social logins.
  • WEBUILD_AUTH0_CLIENT_SECRET (required): Same as above.
  • PORT (optional, default: 4000) Configures the port used by the web server.
  • LOCATION (optional, default: Singapore) The GitHub feed shows only repositories owned by developers in this area. Matches the GitHub "Location" property in user profiles.
  • MAX_USERS (optional, default: 1000) Show only repositories belonging to developers in this ranking. Only the last updated repository of a user is shown.
  • MAX_REPOS (optional, default: 50) Show up to this many total repositories.
  • GITHUB_CLIENT_ID (optional) App OAuth client ID for GitHub.
  • GITHUB_CLIENT_SECRET (optional) App OAuth client secret for GitHub.
  • NODE_ENV Environment variable. By default it is staging and for production it is production
  • BOT_TOKEN This token is used by the We Build SG Bot to store the api endpoint responses for repos and events to the archives every day. Generate a token for the Github user We Build SG Bot.

Use an external "web cron" service to periodically refresh the GitHub data feed. Keep in mind that due to GitHub API rate limiting it may take >15 minutes to retrieve the entire feed. Register a GitHub OAuth application and configure the GITHUB_CLIENT_* environment variables (see above) to increase the rate limit. Do not refresh the feed too often or the rate limit will cause it to take longer.

Create an Auth0 account (you get one free app) and a Facebook app and link them with these instructions. Configure the WEBUILD_AUTH0_CLIENT_* environment variables (see above) and add your callback url in auth0. Run the app and if all is configured well, add your fb aceess token by logging in at <localhost>/admin

Firebase related environment variables

  1. Open a Firebase account
  2. Create a new app for this project
  3. Under Login & Auth > Registered Users > Add User
  4. Note the email, password, user uid and firebase unique app url for the following variables:
    • FIREBASE_EMAIL (required): .
    • FIREBASE_PASSWORD (required)
    • FIREBASE_UID (required)
    • FIREBASE_URL (required)

Contribute

Please see CONTRIBUTING.md for details.

Versioning

Every production code has a version following the Semantic Versioning guidelines. Run the grunt bump, grunt bump:minor or grunt bump:major command to bump the version accordingly and then push to production with git push production master.

License

We Build is released under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].