This week's project is a bookmark manager. The goal is to expose you to the following aspects of web development:
- Relational databases
- Security considerations
- More feature testing with Capybara
In addition to the technologies mentioned above, this project is going to be more challenging on the front-end. The task was to build a bookmark manager, similar to pineapple.io or delicious.com in spirit, as a good use case for exploring how relational databases work.
A boomark manager is a website to maintain a collection of links, organised by tags. You can use it to save a webpage you found useful. You can add tags to the webpages you saved to find them later. You can browse links other users have added.
This project was completed using TDD and pairing. The daily changing pair programming nature of Maker's means that the project code base can change on a daily basis. Therefore, there are seperate (often ophan) branches for each session and these have not been merged due to differences in approach.
- Creating User stories
- Understanding Databases
- Setting up a Database
- Creating Your First Table
- Manipulating Table Data
- Using DataMapper
- Research CRUD
- Viewing Links
- Creating a Link Model
- Creating a Modular Sinatra App
- Creating Links
- Configuring DatabaseCleaner
- Configuring the Rack Env
- Deploying to Heroku
- Tagging Links
- Filtering Tags
- Multiple Tags
- Adding User Accounts
- Password confirmation
- Improving Sign Up Workflow
- Levels of Validation
- Preventing Duplicate Registrations
- Signing in
- Signing Out
- Refactoring
- Password Recovery
- Mailing the Token
As a user
So that I can access my bookmarked URL's
I want to see a list of saved links
As a user
So that I can increase my bookmark collection
I want to add new links to my collection
As a user
So that I can easily group specific bookmarks
I want to be able to add tags to an entry
As a user
So that I can easily access specific bookmarks
I want to be able to search by tag