Coder Social home page Coder Social logo

turing_photoshare's People

Contributors

calaway avatar cdunagan05 avatar danbroadbent avatar jesse-spevack avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

turing_photoshare's Issues

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

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.

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.

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

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 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

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.

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

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.

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

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

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