Giter Club home page Giter Club logo

homemarks's Introduction

HomeMarks: Simple Bookmark Start Page

A simple application that allows you to create your own customized HTML start pages by creating and sorting Columns, Boxes, and Bookmarks. The application even has a JavaScript bookmarklet that can be used to create bookmarks from most browser destinations.

HomeMarks was built using the Ruby on Rails framework with a heavy emphasis on object oriented JavaScript to make AJAX requests to a RESTful back-end. Unlike most Rails applications it does not use any inline JavaScript helpers nor does it rely on RJS (Remote JavaScript) for dynamic page updates. Instead it is nearly 100% unobtrusive JavaScript which uses simple HEAD or JSON responses to communicate to the objects on the page. This has yielded very slim controller code which is decoupled from the views and easily testable in isolation at a functional level.

I invite you to not only download and use the application but to also explore the code and tests to see if this implementation is something you might be interested in. HomeMarks was made by me, Ken Collins, as my first pet project while learning the Rails framework (pre 1.0) and has now been rewritten from the ground up using the methods outlined above for the release of Rails 2.1. I hope that you find it useful.

INSTALLATION

Simply download and/or clone the repository and run the app:bootstrap task.

$ rake app:bootstrap

The rake task assumes that you will be running HomeMarks from your own local computer. The databases will use SQLite3 (rails default) and the following information is requested.

  • The host and port you will use locally to access the app.

  • Email and password. Used to create your HomeMarks account.

It is suggested that you setup a named host in your host file vs using the script/server default of 0.0.0.0:3000. If you run into any errors for required gems (highline/ruby-debug) during the bootstrap process, simply install them.

Running Tests

HomeMarks uses the shoulda testing plugin by Thoughtbot. The git repository is already tracking shoulda as a submodule. Simply do the following from the root of your HomeMarks checkout:

$ git submodule init
$ git submodule update

homemarks's People

Contributors

metaskills avatar

Stargazers

Pauli Price avatar

Watchers

James Cloos 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.