Skip to content
This repository has been archived by the owner on Sep 7, 2023. It is now read-only.

wrekatlanta/wrektranet

Repository files navigation

This Repo is Archived!

We are no longer using this version of Wrektranet at WREK. Leaving it up for historical purposes, but any further questions can be directed to chief.engineer@wrek.org

Wrektranet3 is the future

WREKtranet 2.0

This is WREK's long-overdue new intranet. It provides tools that our radio DJs use on-air, for administration, and for other purposes.

It's based on Rails 4, AngularJS, MySQL, and Bootstrap. Feel free to use parts of it or make contributions; other radio stations are welcome!

Check out the wiki to get started.

Tools

Front-end

  • Bootstrap on the front-end, if you're looking for classes to use.
  • Slim for templating (ERB sucks). It's just HTML shorthand with other niceties.
  • SimpleForm for writing forms for its nicer syntax and Bootstrap integration.
  • AngularJS for interactive JavaScript pieces since it's more well-structured and powerful. This is totally optional, but if you see ng- in the HTML, that's what it is. ng-init is used on pageload to include JSON data in the templates instead of making a separate AJAX request when you first visit the page.
  • jQuery is available if you really want to use it by itself... but try to keep things tidy.

Authentication and authorization

  • Devise for user registration and authentication. In production, it hooks into our LDAP server.
  • CanCan for roles and permissions. Check the ability.rb file to see what our roles look like. If you're using the create method with strong parameters, please read this to get around any issues.
  • Whenever for writing cron scripts with Ruby syntax and Rails-specific hooks.

Testing

Mostly standard tools hee.

  • RSPec for unit tests, or "specs."
  • RSpec + Capybara (with a headless WebKit server through poltergeist) for integration tests.
  • factory_girl for creating test data in integration tests.

Project Management and Communication

We use GitHub issues for project management. We also have a Slack room and a special email address. Ask about 'em.