Repository navigation
Frontend routes
This page displays a log in form
GET /loginPOST /login
This page displays a signup form.
GET /signupPOST /signup
This is the home page. It has a Main navigation bar with Start a project link, Logo centered, user Login/Avatar Sub-Navbar with all the Categories. Total app stats div including projects funded, toward funding amount, and number of pledges Featured Project: randomized
GET /
A list of the current user's projects where they can view, update or delete them update, delete buttons for the project
GET /projects/created-projectsDELETE /projects/<int:projectId>
A list of the current user's projects that they've backed likes, dislikes, and back project buttons
-
GET /projects/backed-projectsBONUS DELETE /projects/<int:projectsId>/backers
BONUS PAGINATION A list of the projects that belong to that category
GET /categories/<str:category_name>
A form to create/edit a project
GET /projects/newPOST /projects/newGET /projects/<int:projectId>/editPUT /projects/<int:projectId>/edit
A details page for a project includes: title, subtitle, preview image/video, pledged amount, funding goal, backers, time left, category, location
if owner: update, delete buttons for the project, add reward, update rewards, and delete rewards buttons if not owner: likes, dislikes, and back project buttons
story and details section A rewards list component
-
POST /projects/<int:projectId>/rewards -
PUT /projects/<int:projectId>/rewards -
DELETE /projects/<int:projectId>/rewards/<int:rewardId> -
DELETE /projects/<int:projectId> -
POST /projects/<int:projectId>/like -
DELETE /projects/<int:projectId/like>
A list of all the project's rewards
user can "back" a project by selecting a reward
GET /projects/<int:projectId>/rewardsPOST /api/projects/<int:projectId>/rewards/<int:rewardId>
A list of the current user's liked projects
GET /projects/liked-projects
A list of projects that match the search parameters
page: integer, minimum: 1, maximum: 10, default: 1 size: integer, minimum: 1, maximum: 20, default: 10 title: string, optional location: string, optional endDate: string, optional category: select, optional, default=all