Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

# Requirements #8

Open
30 of 56 tasks
codessi opened this issue Dec 24, 2020 · 0 comments
Open
30 of 56 tasks

# Requirements #8

codessi opened this issue Dec 24, 2020 · 0 comments

Comments

@codessi
Copy link
Owner

codessi commented Dec 24, 2020

Requirements

In order to get a satisfactory score, by the time you present your project, you
must meet the following requirements:

Deployment

Be deployed online, where the rest of the world can access it.

  1. Host on your public Github page, not Github Enterprise.
  2. Deploy client application on GH pages.
  3. Deploy server application on Heroku.

Version Control

Demonstrate using version control by:

  1. Sharing your work through a git repository hosted on Github.
  2. Making frequent, cohesive commits dating back to the first day
    of the project week.
  3. 1 commit on the first day of project week on both repos.
  4. At least 1 commit every day during project week (not necessarily on both repos).

Documentation

  • front end
  • backend
    Produce documentation on Github:
  1. Create 2 Github repos (one for your front-end and one for your back-end)
  2. Pin both repositories on GitHub as a Popular Repository

Both front-end and back-end repos should include README's with:

  1. An explanation of the what the app does and how it works.
  2. Complete the repository Description field and Website field with a meaningful sentence description of the application and link to the live URL
    github image
  3. A link to the other repo
  4. A link to both deployed sites
  5. List of technologies used
  6. List unsolved problems which would be fixed in future iterations.
  7. Document your planning, process and problem-solving strategy

Your front-end repo's README should also have:

  1. Link to wireframes and user stories
  2. An embedded screenshot of the app
  3. Set up and installation instructions for front end application

Your back-end repo's README should also have

  1. Link to Entity Relationship Diagram (ERD).
  2. A catalog of routes (paths and methods) that the API expects.
  3. Set up and installation instructions for back end application

Auth Specifications

  1. Signup with email, password, and password confirmation.
  2. Login with email and password.
  3. Logout when logged in.
  4. Change password with current and new password.
  5. Signup and Signin must only be available to not signed in users.
  6. Logout and Change password must only be available to signed in users.
  7. Give feedback to the user after each action's success or failure.
  8. All forms must clear after submit success and user sign-out
    • (Optional) Reset form to initial state on failure

Client Specifications

  1. Use a front-end Javascript app to communicate with your API (both read and write) and render data that it receives in the browser.
  2. Have semantically clean HTML and CSS
  3. User must be able to create a new resource
  4. User must be able to update a resource
  5. User must be able to delete a resource
  6. User must be able to view a single or multiple resource(s)
  7. All resource actions that change data must only be available to a signed in user.
  8. Give feedback to the user after each action's success or failure.
  9. All forms must clear after submit success or failure
  10. Protect against Cross-site Scripting

API Specifications

  1. Use Express or Django to build an API.
  2. Create at least 4 RESTful routes for handling GET, POST, PUT/PATCH, and DELETE requests for a resource other than User.
  3. Have at least 1 resource that has a relationship to User
  4. Any actions which change data must be authenticated and the data must be "owned" by the user performing the change or a user determined by an access control list

DO NOT!!

Your app must not:

  1. Delete your repository at any time or start over.
  2. Rely on refreshing the page for any functionality.
  3. Have any user-facing bugs.
    • Display non-functional buttons, nor buttons that do not successfully complete a task.
    • Show actions at inappropriate times (example: change password form when a user is not signed in).
    • Forms not clearing at appropriate times (example: sign up form not clearing after success).
  4. Use alerts for anything.
  5. Display errors or warnings in the console.
  6. Display debugging messages in the console.

License

  1. All content is licensed under a CC­BY­NC­SA 4.0 license.
  2. All software code is licensed under GNU GPLv3. For commercial use or alternative licensing, please contact [email protected].
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant