Skip to content

caseykim/coders_ink

Repository files navigation

CodersInk Logo

Introduction

CodersInk is a review website hosted at https://codersink.herokuapp.com/tattoos. The application was designed and built by the tics project team during the Fall 2015 cohort at Launch Academy (http://www.launchacademy.com/).

Build Status Code Climate Coverage Status

Topics

Features

  • The ability to add a tattoo to be reviewed.
  • The ability to rate the tattoo and to optionally comment on it (i.e. write a review).
  • The ability to designate (and remove) a tattoo as a favorites. Only the user has access to the user's list of favorite tattoo.
  • An email is sent to the owner of a tattoo when a new review is posted about it.
  • The ability to upvote or downvote a review. A user can only upvote or downvote once and can change their vote from up to down. This feature utilizes AJAX so that a complete page reload isn't necessary.
  • The ability to upload a profile photo (developed with Carrierwave). A default photo is used if the user does not upload one.
  • The ability to search for items.
  • A sign up and authentication system for users (developed with Devise).
  • An admin role. Admins are able to delete comments or items if they are deemed to be inappropriate. Access to some pages are restricted to the admin role.
  • An average review rating (the underlying method, developed using ruby, checks all reviews belonging to the tattoo).
  • A top 6 page featuring the most highly rated tattoos.
  • Pagination (developed with Kaminari).
  • Infinite scroll for the index page (developed with Javascript).

Development

CodersInk was developed in Ruby on Rails. Initial setup was done using the make_it_so gem (https://github.com/LaunchAcademy/make_it_so).

Also used during the application development

Testing

For development tasks such as running benchmarks or testing, you need to clone the repository and install bundle. All required gems are listed in the Gemfile.

Install bundle.

git clone [email protected]:caseykim/coders_ink.git
cd coders_ink
bundle install

Test Development

The following gems were used to develop and run unit and feature tests:

To prepare for testing, run:

rake db:test:prepare

To run all test files, run:

rake

You may specify an individual test file to run using rspec:

rspec <full test name>

For example:

rspec spec/features/user_views_user_detail_spec.rb

Note that some feature testing requires the use of Firefox, which must be located in the user's application directory.

ER Diagram

Entity Relationship Diagram

License

The MIT License (MIT)

Copyright (c) 2014 Petka Antonov

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

Launch Academy - tics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7