GithubHelp home page GithubHelp logo

tiy-durham-q3-rails / freeshelf Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 13.0 44.36 MB

A network for sharing free programming books.

License: MIT License

Ruby 57.71% CoffeeScript 0.84% CSS 40.78% JavaScript 0.67%

freeshelf's Introduction

Freeshelf

This Rails application provides a way to share and collect free programming books.

Installation and usage

This application uses Postgres, so you will need it installed on your machine. If on Linux, use your package manager. On OS X, if you have Homebrew, run brew install postgresql.

Once you have Postgres installed, edit config/database.yml -- or set up Postgres to have a database called freeshelf_development for your current user.

Next, install all required gems:

bundle install

Finally, set up the database:

rake db:create db:migrate db:seed

After that, you can run rails server to start the server or rails console for a REPL.

Testing

You must have PhantomJS installed to run the tests. On OS X with Homebrew, run:

brew install phantomjs

Contributing

If you are new to using git and GitHub, follow these directions:

  1. Fork the project.
  2. Clone your copy.
  3. Add another remote:
    git remote add upstream https://github.com/tiy-durham-q3-rails/freeshelf.git
  4. Make a local branch for your feature.
  5. Write code.
  6. Test it out.
  7. Run git fetch upstream and then git merge upstream/master in your branch.
  8. Test again.
  9. Push your branch to your repo.
  10. Make a pull request!

freeshelf's People

Contributors

cndreisbach avatar ernbrn avatar jjlangholtz avatar dzmarshall avatar basicbrogrammer avatar chetcorey avatar brianfields avatar

Stargazers

Mike Hacker avatar  avatar  avatar

Watchers

James Cloos avatar Andrew Hooge avatar

freeshelf's Issues

Add truncate to descriptions

I talked to you about this yesterday all i would need to add truncate(300) to line 14 in the _book.html.slim partial.

We need much better URLs

Everywhere on the site that we use a numeric ID -- right now, for books, but soon, maybe for users and videos -- we should have a nice friendly ID instead. URLs should look more like:

/books/objects-on-rails

We should have videos on the site, too

What about great conference talks? Let's add the ability to link to videos.

Videos can be favorited and tagged, of course.

If the video is from YouTube or Vimeo or is embeddable, let's embed it.

We need better author support

Books should be able to have multiple authors (0 to n). Those authors should have individual author pages where you can see all books they have on the site.

The interface for adding authors could use a nested form with something like Cocoon to add more authors or something more simple like we do with tags.

If we add videos (#7), they should have speakers who use the same model as authors so we can see all the books and videos from one person.

Books should be able to be sorted

They should be able to be sorted by the amount of favorites, the date added to the site, the publication year, or alphabetically.

We need a JSON API

All URLs on the site that are public should have a JSON response type so people can get information about books from wherever.

Renaming Sidebar

Now that we have a link for videos on the sidebar I think it makes more sense to rename 'Home' to 'Books'. Perhaps a better alternative would be to have 'Home' index all books and videos and add a 'Books' link to index books.

Thoughts?

Bug: Carolina Clinic site not loading

As a user, when I try to access carolinaclinic.pushactive.com for any browser it does not load...just says the web page is not available. It worked fine until 9 am 10/3/2014.

People should have favorite books and tags

Users should have an interface to choose their favorite books. Once we reach an overwhelming amount of books, this will be useful for people to find the books they want.

In addition, they should have favorite tags, and have a way to see all books for their favorite tags.

We need edit permissioning

This could get really complicated, but for now:

  • All users can add a new book
  • All users can change the tags on a book
  • No users can edit an existing book except to change the tags on it

We need to mass-import books

There's a great list of free programming books on GitHub in Markdown. It's formatted in a regular way, so we should be able to parse it and get all the books and URLs out of it.

We need a Rake task (or script) that will pull down this file and read out all the books and load them into the DB. If possible, we should be able to run it over and over and not create duplicate books. We could use the book URL as a unique identifier.

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.