Coder Social home page Coder Social logo

qxh5696 / brickhack.io Goto Github PK

View Code? Open in Web Editor NEW

This project forked from coderit/brickhack.io

0.0 2.0 0.0 200.42 MB

The public-facing site for BrickHack

Home Page: https://brickhack.io/

License: MIT License

Shell 0.23% Ruby 58.51% JavaScript 4.17% CSS 8.43% HTML 28.66%

brickhack.io's Introduction

brickhack.io Build Status Code Climate Test Coverage security

The public facing site for BrickHack.

  • Hacker applications: Users sign up/in using MyMLH, which includes standard hackathon application info. This pre-fills the BrickHack application, so hackers don't have to duplicate information!
  • Acceptance, RSVPs: Manage applications & coordinate acceptance/waitlist/denials
  • Bus Lists: Coordinate bus sign-ups during the RSVP process while communicating important information to riders & captains
  • Email communication: Ensure hackers get consistent, timely information throughout their application process, while enabling the organizing team to communicate important information at any time.
  • Statistics & Visualization: Surface key information about the application base, distribution of applicants, progress towards attendance, etc.

Getting Started

macOS

Install ruby, mysql, and other required development environment tools via homebrew.

$ brew install rbenv ruby-build rbenv-binstubs
$ brew install redis
$ brew install mysql

Ensure you have Git set up and SSH access to GitHub. If you have Git but not SSH, you can clone using the HTTPS url, however you'll have to type in your GitHub credentials every time.

Download & configure local environment, vendor everything style.

$ git clone [email protected]:codeRIT/brickhack.io.git
$ cd brickhack.io
$ rbenv install
$ bin/setup

Optionally, you can use Pow to host your local development environment. This enables you to use http://brickhack.io.dev/ as your local URL, without having to manually run rails server.

$ brew install pow
$ gem install powder
$ powder link

Afterwards, you can restart the server with powder restart when needed.

If you choose not to use Pow, you can still initiate a local Rails server with bin/rails server and visit http://localhost:3000

Windows

Note: This setup is outdated. Contributions welcome!

Verify you have a unix console emulator. We recommend the full version of cmder.

Download & install RailsInstaller from http://railsinstaller.org/. Use the latest version.

Download & install redis from https://github.com/rgl/redis/downloads

Download & configure local environment, vendor everything style.

$ git clone [email protected]:codeRIT/brickhack.io.git
$ cd brickhack.io
$ bin/setup

Start your local environment: bin/rails server

Authenticaiton & Admin Testing

Authenticaiton is performed through MyMLH. To access the admin pages, you'll need to create a local account & add our test MyMLH credentials.

  1. Copy the sample environment variables (cp .env.sample .env)
  2. Replace the values in .env with our test MyMLH credentials. Contact a contributor to obtain these.
  3. Start up the local server (bin/rails server)
  4. Visit /manage and sign in. You'll be asked to sign up or sign in to MyMLH, and authorize the applicaiton. Upon doing so, you'll be redirected back to your local server.
  5. Start up the Rails console (bin/rails console) and run the following command:
User.last.update_attribute(:admin, true)
  1. You should now be able to access /manage (with bin/rails server still running)

Development Utilities

  • Mail View - Email templates can be previewed at http://localhost:3000/rails/mailers
  • Mail Catcher - When active, emails will be captured by MailCatcher instead of slipping into a black hole (no emails are ever sent in development). Visit mailcatcher.me and follow instructions under "How" to get setup. Note: in order for mail to be sent, you must start a local Sidekiq worker using bundle exec sidekiq.
  • Guard - Automatically runs tests based on the files you edit. bundle exec guard
  • Coverage - Test coverage can be manually generated via the bin/rails coverage:run command. Results are then made available in the coverage/ directory.
  • Sidekiq - Run background jobs (such as emails) and view active & completed jobs. Spin up Sidekiq with bundle exec sidekiq. A web portal will be available at http://localhost:3000/sidekiq (also available in production).

Development & Deployment

All development work should be done locally in a new branch and/or fork. Then, make a pull request to have the code merged into the develop branch. Once the develop branch gets to a good state, it gets merged into the master branch for a production deployment.

Code pushed to any codeRIT/brickhack.io branch will automatically build on Travis CI for tests. Any build on the develop or master branches will also trigger a deploy to our instance(s) of Dokku - staging for develop, production for master.

See the Production Environment Setup page for details.

brickhack.io's People

Contributors

sman591 avatar nateperry avatar piperchester avatar piedoom avatar dxn7335 avatar coldencullen avatar gabe-k avatar wilfriede avatar benkantor avatar nrung avatar vanwagenenj avatar ahollenbach avatar clehner avatar pxlbuzzard avatar blackpan2 avatar liam-middlebrook avatar maxwofford avatar mmeyer724 avatar bitbanger avatar zujko avatar

Watchers

James Cloos avatar Qadir Haqq avatar

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.