Skip to content
This repository has been archived by the owner on Apr 16, 2024. It is now read-only.
wcravens edited this page Mar 7, 2014 · 16 revisions

Goals

The two main goals of the current CODE portal project were to provide a landing page for branding CODE and to create an event aggregator for tech events in the Champaign Urbana Community.

Features

Website

  • Logo and 'branding' for CODE
  • Generic layout for website; Landing Page, Organization Directory, About Page & Generic Content Page
  • Slideshow / Banner
  • Highlighted content area
  • Navigation Bar
  • Footer Site-Nav Area
  • Stream of recent events/news
  • Login

User Interaction / Publishing

  • Login with LinkedIn Account (Any LinkedIn User not just CODE group members)
  • Register an Organization
  • Organizations appear in the directory after an admin 'publishes' the registration
  • Once published events from the organization's feed will populate in the calendar automatically
  • Monitor proprietary feeds ( Research Park / EDC )
  • Proprietary feed events are unpublished until system admin marks tech events from feed
  • Organization feeds are published automatically
  • Provide a calendar of aggregated events
  • Popup bio for event when clicked on calendar
  • Browse to event page from link in Bio

Project Notes

With a generous DCEO grant organized by the SBDC we were able to put together a small team of local freelance developers. The project spent roughly half it's budget on Design & Cutup and the other half on feature implementation.

Technology

  • Ruby 2.1
  • Rails 4.0
  • Postgresql
  • S3
  • Heroku

Deploying

Create a Heroku app and add the following add-ons: Heroku PostgreSQL and Heroku Scheduler (a cron service). The other add-ons which we're using for the app aren't required. Next, set an authentication token for the cron job with:

heroku config:set --app cucode-prd CRON_TOKEN=`openssl rand -hex 32`

Create the cron job with:

heroku addons:open scheduler # This opens a web page.
# Add a "rake import_events" job.

That's it!

Admin

Who can Login? Any LinkedIn User

Assign administrator privileges

heroku run --app cucode-prd rails c
User.find_by_email("[email protected]").add_role("admin")

Static Pages

heroku run --app cucode-prd rails c
Page.create(title: "My New Contact Page", content: "Some <blink>HTML</blink> content", url: "/contact")
# You can put pages at any alpha-numeric slug on the site root.
# For security, the Pages controller scrubs out any other character.
# To add support for dashes, just modify the regex in that controller.

Register Organizations

Events from Global Feeds need to be 'published'. Events from 'published' organizations are automatically published.

Clone this wiki locally