Skip to content

0sc/minly

Repository files navigation

Code Climate Test Coverage

README

Overview

The need to have short, easy-to-remember urls is the main major motivation behind Minly. The app enable users create short, simple memorable urls, minlys, for various engagements on the internet. It provides a free, flexible customization options such that users get to decide what they want their minly to be. Long, complex urls can be shortened to just a single digit or letter using Minly.

Behind the scene, Minly elegantly and seamlessly redirects request to any minly to their original target url; while also keep tabs of the visitors statistics. The statistics gathered are readily available for users to use in keeping track of and analyzing usage of their minly(s). With this information, users get see which of their minly gets more visits and manage them as they desire.

Minly allows users to manage their url. Users can redirect the target of their minly , deactivate and/or delete their minly . Requests to deactivated and/or deleted minly will redirected with the appropriate error message.

Using the Application

Dependencies

Minly is built with version 4.2.4 the popular Rails framework using the Ruby programming language (version 2.1.7). Chances are you already have Ruby and Rails installed. You can run which ruby and which rails to check for their installation.

Also check for and confirm the installation of gem and bundler on your machine. These will allow you install other libraries ( gems ) required by Minly.

Running the application

First clone this repo. Then from your terminal (or command prompt) navigate to the folder where you have cloned Minly( cd path/to/minly/ ).

  • Run bundle install to install all Minly dependencies.
  • Run rake db:migrate to setup the app database
  • Run rails server to start the rails server

You now good to go. Visit the app on your browser to use Minly (localhost:3000)

Running the tests

Minly prides it's self in being fully tested. Minly is tested using rspec, capybara, faker and factory_girl gems. To start the test, first migrate the test database by running rake db:migrate. Next run bin/rspec spec to run all tests. You can also specify a particular test from the spec folder to run. Run tests with the -fd flag to view the tests documentation.

App features

  • Creates minly's for users if not custom string is provided
  • Creates customized minly's for users if given a custom string
  • Keeps tabs of most recent minlys
  • Keeps tabs of popular minlys
  • Provides visit statistics for registered users
  • Allows users to change the target of their minly
  • Allows users to deactivate their minly
  • Allows users to delete their minly

Minly API

Minly's api allows users access any of Minly's many features for supporting devices. Users will require their user token to access some user specific features using api calls. View the Minly-gem github page for more information.

To install the Minly api run gem install "minly" from your terminal. You can also include it in your project by adding it (gem "minly") to your gem file.

Contributing

  1. Fork the repo.
  2. Run the tests: bundle && bundle exec rake
  3. Add a test for your change. Only refactoring and documentation changes require no new tests. If you are adding functionality or fixing a bug, we need a test!
  4. Make the test pass.
  5. Push to your fork and submit a pull request.

Syntax:

  • Two spaces, no tabs.
  • No trailing whitespace. Blank lines should not have any space.
  • Prefer &&, || over and, or.
  • MyClass.my_method(my_arg) not my_method( my_arg ) or my_method my_arg.
  • a = b and not a=b.
  • Follow the conventions you see used in the source already.