turing_photoshare's People
turing_photoshare's Issues
Registered user can delete comment via API
Registered user can modify an album of theirs
Guest cannot see private album
As a guest
When I visit the home page
I do not see any public albums
Admin can take a user offline
Take a user offline / online, including all content associated with them but without removing any of the data from the database.
User stories:
Registered user's public albums don't show after they're deactivated
Given active registered User A
With a public album
As guest User B
When visit the root page
Then I see the album
Then once User A is deactivated
As guest User B when I visit the root page again
Then I don't see the album
Deactivated registered user's shared albums will not show
Given active registered user A
And active registered user B
And an album belonging to user A that is shared with user B
As user B when I visit that album show page
I see that album
Then once user A is deactivated
As user B when I visit that album page again
I am redirected to the root page
Deactivated registered user's shared photos no longer show
Deactivated registered user's comments no longer show
Admin can view any album
Registered user can delete an album of theirs
As a logged in user
When I visit an album
And I click delete
And I click confirm
I am taken to my albums
And I do not see the deleted album
Add instructors as collaborators in Github (as per spec)
Guest can see public album
As a guest
When I visit the path of a public album
I see the contents of that album
Registered user can get single comment via API
Guest can see public photo
As a guest
When I visit the path to a public photo
I see the details of that photo
Logged in user adds comment to photo
As a logged in user,
When I visit a photo show page
And I fill in a comment,
And I click "Commnet"
Then the url will be the photo page
Then I see my comment, username, and date of comment at the bottom of the page.
Limit tries on 2FA
Logged in user comments on an album
As a logged in user,
when I visit a photo album show page
And I fill in a comment text area
And I click "Comment"
Then I see my comment, username, and time of my comment.
Registered user can add comment via API
Registered user can delete a photo of theirs
Registered user can modify a photo of theirs
Logged in user creates a photo album
As a logged in user
When I visit the url for my albums page
And I select 'Create new album'
And I enter a name
And I (optionally) enter a description
And I select public (optional)
And I click submit
Then I go to the url for my new album
And I see my new album
logged in users can edit their profiles
As a logged in user
When I visit my user profile
And I click Edit
And I fill in an username
And I fill in an email
And I fill in a phone number
And I fill in a bio
And I click submit
Then I see my edited information.
Guest user visits site
When a guest user visits turing photoshare root,
They will see publicly available photos
And a "login" button
And a "create account" button
And public albums
Registered user can edit comment via API
Logged in user visits profile page
when logged in user visits root,
and clicks on profile button,
they see their avatar and bio on the page
Guest user creates account
When a guest user visits the root,
And clicks "create account"
And fills in username
And fills in password
And fills in cell phone
And they click "create account"
They will see a two factor authentication page
And they fill in the texted password
And they click "Submit"
Then they will see their profile page
Logged in user can't add photos to public album
Logged in user can invite other users to upload photos to private buckets
As a logged in user
When I visit one of my albums
And I click the share button
And I type a username
And I click "Share"
Then I see a flash success message.
Registered user edits/deletes comments
As a registered user,
when I visit an album page,
and I make a comment,
I see buttons to edit and delete the comment
Logged in user visits my_albums, sees own albums
Logged in user visits my_albums, sees own albums
Logged in user visits my_albums
As a logged in user
when I visit the my albums path
then I see all albums I've created
and I see all albums I've been invited to
Logged in user visits my_albums, sees albums shared with them
Logged in user visits my_albums, sees albums shared with them
As a logged in user
when I visit the my albums path
then I see all albums I've created
and I see all albums I've been invited to
Registered user can manage account information
1st Check-in Notes
What should be done
The scope of this project is more fluid than prior projects. Your client will want to go over your plan for the project. Bring wireframes and detailed user stories (ie waffle cards). Don't underestimate the value of a good plan.
(You should also have a rough schema sketched out, but you will not be reviewing this with your client.)
What to expect from your client
Clients will help you refine your plan, including scope, wireframes and project management. You'll also decide what should be done by the next check-in.
Guest user has own nav bar
As a guest,
when I visit root,
I do NOT see an admin dashboard link,
I do NOT see a 'my albums link'
Registered user logs in
As a not logged in registered user,
visits root,
and clicks login,
and enters username and password
and clicks submit
then enters 6 digit code
and clicks submit
then sees username and 'logout' button on the nav bar
Registered user has own nav bar
As a logged in admin,
when i visit root,
i do NOT see an admin dashboard link on the nav bar
I do see a 'my albums link'
2nd Check-in Notes
What should be done
This is based on what you decided in your last check-in and should be working in production. You should be well on your way to basic functionality. If you've changed the plan, be sure to let your client know prior to the check-in. Have a plan for what you'd like to go over.
What to expect from instructors
Your client will review the work you've done so far at a high level. Then it's really up to you what to look at. Get feedback on your code, even the parts you know need to be refactored. These are great moments to make changes in a way that will save you time in the long run.
You'll also decide what should be done by the next check-in.
Admin can delete any album
Refactor user table for Normal Form
Comments API
Full crud access to comments from API
Authorization on all GET routes (create user stories)
Add API Token Mailer
Guest cannot see private photo
As a guest
When I visit a path to a private photo
I am redirected to the root page
I see public albums
Guest user can not view private albums
when a guest user visits a private album
they are redirected to the login page
3rd Check-in Notes
By this point, you should be near done with basic functionality, and ready to talk about extensions for your app.
authorization through site
- **comments on albums
- **Build API with authorization
- full navigation
- **authentication additional features
- timeout
- limited tries
- **polymorphic comments
- **albums with different levels of authorization
- multiple file upload
Admin can view all albums
Logged in user uploads photo
As a logged in user
When I visit '/'
And I click upload
Then the path is '/photos/new'
As a logged in user
When I visit '/photos/new'
And I click 'Select File'
And I select a file through my web browser's file browser
And I enter a title
And I enter a description
And I select albums
And I click submit
Then the current path is '/photos/:id'
And I see my newly uploaded photo
Questions for Client (ongoing)
Limit time on 2FA
Tag the starting point in git after creating the rails project (see link in notes)
Add travis ci
Logged in user visits home page and sees public albums
Admin has own nav bar
As a logged in admin,
when i visit root,
i see an admin dashboard link on the nav bar
Logged in user visits albums page
As a logged in user
That has albums already created
When I visit '/'
And I click 'You'
And I click 'Albums'
Then the current page is '/:user_id/albums'
And I see all my albums
Alternate navigation:
As a logged in user
That has albums already created
When I visit '/'
And I hover over 'You'
And I click 'Albums'
Then the current page is '/:user_id/albums'
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.