This was the mid-module assessment for module 4 at Turing School of Software and design. The goal was to create a website using Rails and JavaScript that would allow the user to post links to a site and it would inform them if they were read or unread.
mid_mod_4's Introduction
mid_mod_4's People
mid_mod_4's Issues
Iteration #1 - Sign Up Details
As an unauthenticated user, if I click "Sign Up", I should be taken to a user form where I can enter an email address, a password, and a password confirmation.
I cannot sign up with an email address that has already been used.
Password and confirmation must match.
If criteria is not met the user should be given a message to reflect the reason they could not sign up.
Upon submitting this information, I should be logged in via a session cookie and redirected to the "Links Index" page.
Iteration #3 - Updating Link Status
(Aim to complete this section in 30-45 minutes.)
As an authenticated user who has added links to my URLockbox, when I view the link index:
Next to each unread link I should see an option to "Mark as Read".
Clicking this should visibly change the read status to true, and the change should persist.
Next to each read link I should see an option to "Mark as Unread".
Clicking this should change the read status to false, and the change should persist.
Read links should be stylistically differentiated from unread links. You could gray them out or use a strike through or anything you think appropriately informs the user that their link is read or unread.
Note: Later iterations will require that you be able to update the status of the link without reloading the page. Depending on your approach, it might be easier to implement that now.
Iteration #1 - Sign up
As an unauthenticated user, when I visit the root of the application, /, I should be redirected to a page which prompts me to "Log In or Sign Up".
Nota Bene: You should aim to complete user auth in the simplest way possible. Using Rails' "built-in" gem Bcrypt is the most straightforward and recommended way to implement this functionality.
Iteration #5 - Client Side
Iteration 5 - Client-side
(Aim to complete this section in 90 minutes.)
As an authenticated user, I can do the following in the link index without reloading the page:
Mark a link as read or unread
Filter the list of links by a search term as I type
Click buttons/links to filter the list by status (e.g. "read" and "unread")
Sort the list alphabetically.
This does not have to persist, but can if that's easier.
Iteration #1 - Sign Out
Sign Out
As an authenticated user viewing the index page, I should see a link to "Sign Out" and not see a link to "Sign In". This should redirect me back to the root of the application where I should see a link to "Sign In".
Iteration #4 - Editing Links
Aim to complete this section in 45 minutes.)
As an authenticated user who has added links to my URLockbox, when I view the links index:
Each link has an "Edit" button that either takes me to a page to edit the link or allows me to edit the link in place on the page.
I can edit the title and/or the URL of the link.
I cannot change the URL to an invalid URL. Show the same error message as above.
Iteration #2 - Submitting and Viewing Links
(This section will be testing your basic Rails CRUD abilities, with some validation logic thrown in. Aim to complete this section in 90 minutes or less.)
As an authenticated user viewing the main page (links#index), I should see a simple form to submit a link.
The Link model should include:
A valid URL location for the link
A title for the link
Additionally, all links have a read status that is either true or false. This status will default to false.
Submitting an invalid link should result in an error message being displayed that indicated why the user was not able to add the link.
Hint: Use Ruby's built in URI.parse method to determine if a link is a valid URL or not. This StackOverflow post has more information. Alternatively, you could use a gem like this one.
Once a link has been submitted, loading the index page should display all of my links only.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.