Frontend & Backend Routes - nerochen25/full_stack_project GitHub Wiki

Frontend

  • / (home page)
  • /login
  • /signup
  • /users/:user_id (single user profile page)
  • /users/:user_id/created (projects created by user, should be a tab/button/link on the user profile page)
  • /users/:user_id/backing (projects backed by user, should be a tab/button/link on the user profile page)
  • /users/:user_id/starred (projects bookmarked by user, should be a tab/button/link on the user profile page)
  • /projects/new (project create, only accessible to logged-in user)
  • /projects/:project_id (project show from a user)
  • /projects/:project_id/pledge/new (create a pledge amount)
  • /projects/:project_id/pledge/edit (edit a pledge amount)
  • /projects/:project_id/pledge/cancel (cancel a pledge)
  • /categories/:category_id (category show, show all projects under that category, no need log-in/sign-up)
  • /discover (project index, no need log-in/sign-up)

Backend

users

  • GET /api/users (show user profile)
  • POST /api/users (sign up)
  • user_params :name, :email_address, :password, :location

session

  • POST /api/session (log in)
  • DELETE /api/session (log out)
  • session_params :email_address, :password

projects

  • GET /api/projects/:id (show one single project's details)
  • POST /api/projects (create a new project)
  • PATCH /api/projects/:id (update a project)
  • DELETE /api/projects/:id (delete a project)
  • project_params :category, :title, :description, :image, :due_date, :funding_goal

rewards

  • POST /api/projects/:id/rewards (add a reward to the project)
  • PATCH /api/projects/:id/rewards/:id (edit a reward details)
  • DELETE /api/projects/:id/rewards/:id (delete a reward)

categories

  • GET /api/categories/:id (GET all projects under a specific category)

pledges

  • POST /api/pledge (create a pledge)
  • PATCH /api/pledge/:id (edit a pledge)
  • DELETE /api/pledge/:id (cancel a pledge)
  • pledge_params :reward_id, :amount, :project_id

bookmark(starring)

  • POST /api/projects/:id/star (save a project)
  • DELETE /api/projects/:id/star (unsave a project)

comments

  • POST /api/projects/:id/comment (create a comment on the project)
  • comment_params :body