Giter Site home page Giter Site logo

chicago_ideas's Introduction

craigs_admin

This is a DRY, well documented (inline) Rails (3.1) project which is suited as a basis to rapidly developing business application software. In laymen terms, it is a simple front end website with some common pages like 'contact' and 'about us'. But it has a powerful admin tool and an very clean REST/JSON API.

Out of the box, it has:

  • Users
  • Registration, Login, password reset etc. (through Devise)
    • Welcome email
    • Admin flag for users
    • Twitter and Facebook connect
  • Admin
    • Searching, sorting and pagination of models
    • Very DRY approach to templates
  • Website
    • Contact form
    • Team (about us) page which is populated from the Admin
  • API
    • Helpers to normalize JSON output
    • Documentation for your API generated from a YAML file
  • Other
    • Configuration options are ENV variables, not stored in code (meaning its safe to have multiple developers working on your project)
    • Well documented. The code is sane and clean, lots of inline documentation.
    • Sassy, HAML and Formtastic
    • Care has been taken to do everything the 'Rails Way'
    • MySQL (foreign key constraints through foreigner) for business data, and MongoDB for non critical information such as user access logs.
    • Tested thoroughly to work out of the box with Heroku in-front of an Amazon RDS, MongoLab and SendGrid.

It was originally created (and is still used) as a basis for the SocialKaty platform (http://www.socialkaty.com) which is feature rich, used by 30 employees and handles in excess of 300K http transactions per day. It is now also the basis of several other Chicago area startups, and is at the core of the ChicagoIdeasWeek (http://www.chicagoideas.com) platform.

Patches, comments and criticisms are extremely welcome.

Contributing to this project

  • Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
  • Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
  • Fork the project
  • Start a feature/bugfix branch
  • Commit and push until you are happy with your contribution
  • Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.

Copyright

Copyright (c) 2011 Craig Ulliott. See LICENSE.txt for further details.

use this .rvmrc template when doing local development

rvm default

# The name of this business, as displayed to your users throughout the application
export BUSINESS_NAME="Your Business"
# the from address used when sending email to customers, and also the email address we send admin emali to (e.g. from the conact form)
export [email protected]

# used for facebook connect, google analytics, emails and other places where a master domain name is used to represent the business
export BASE_DOMAIN_NAME=yourdomain.com

# the database namespace used in database.yml, "foobar" will create foobar_development and foobar_test databases for MySQL and MongoDB
export DATABASE_NAMESPACE=craigs_admin
# mysql usernme and password
export MYSQL_USERNAME=root
export MYSQL_PASSWORD=

# emails sent in development are intercepted and delivered to the developer, so we dont bombard customers by accident
export [email protected]

# we use AWS as a backend for fog and paperclip
export AWS_ACCESS_KEY_ID=
export AWS_SECRET_ACCESS_KEY=
export S3_NAMESPACE=
export S3_CLOUDFRONT_DOMAIN=

# for onmiauth with facebook and facebook connect/widgets etc
export FACEBOOK_CLIENT_ID=
export FACEBOOK_SECRET=
# for displaying to your customers
export FACEBOOK_FAN_PAGE_NAME= 
export FACEBOOK_FAN_PAGE_ID= 

# for omniauth with twitter
export TWITTER_CONSUMER_KEY=
export TWITTER_CONSUMER_SECRET=
# for displaying to your customers
export TWITTER_SCREEN_NAME=

# urchin code for google analytics
export GOOGLE_ANALYTICS_ACCOUNT_ID=123456789-1

# emails generated in development will be delivered through gmail 
export GMAIL_DOMAIN=gmail.com
export [email protected]
export GMAIL_PASSWORD=your_password

chicago_ideas's People

Contributors

bhanuprasad143 avatar craigulliott avatar danallison avatar dominicbruno avatar karnatikirankumar avatar leanucci avatar

Watchers

 avatar  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.