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