swEtsy is a web application for practicing web development. It is inspired by Etsy. It mimics an online marketing platform, for people to list their products and buy products sold by others.
- Python
- Flask
- WTForms
- SQLAlchemy
- SQLite
- PostgreSQL
- React
- Redux
- Redux-thunk
- Docker
- Heroku
You don't have to log in at this page. For demo user, you can click the login, and click demo user.
IMPORTANT: You can click the icon to go back to this index page at any other pages.
The route for main page is '/'.
The logged in user could see the profile menu from the navbar.
You can see product detail by clicking a product card in main page or search page, no matter logged in or not.
Operations like adding to cart and adding review requires the user logged in.
The owner who listed the product can see the edit button of the product.
The user can click the "List A New Product" button in the profile menu, then it will be the page for creating a new product. It's a multi page form:
Click "back" to go to the previous page, or click "next" to go to the next page. In the final page, click "List Product" to go to the detail page of the product.
The owner can edit the product by clicking Edit, then the product edit panel will be shown.
The owner can delete the product by clicking Delete.
The user can see the review score in search page, and the review details of the product in the product's detail page.
The user can see its all review by clicking "See Your Reviews" in the profile menu.
The user can edit a review by clicking "EDIT YOUR REVIEW" in myrevies page. Then the window for editing a review will show up. The user can edit the current review, then update it by clicking "Update My Review". The user can clear the whole review by clicking "Clear". If the user wants to delete the review, it can just click the "Delete" button.
You don't have to log in to see this page. An empty keyword will show you all the products.
Or search with a keyword.
Also there are price filters the user can choose to target its dream products:
And the sorting rule for the user to change the order of products:
Must be logged to see cart page. Shows all cart items with options to increase quantity and remove item from cart
Clicking proceed with purchase will remove all items from cart.