- About the project
- The Team
- Technologies Used
- Database Schema
- Routes
- Screenshots
- Getting Started
- Helpful Commands
- AWS S3 Setup Instructions
- User Stories
- Features
- Acknowledgments
Craftsy is an Etsy clone, an app designed to connect consumers with sellers of handcrafted and vintage goods.
![sign-up](https://private-user-images.githubusercontent.com/121524927/308756331-92bbdec6-267c-4f91-bc8f-182424464696.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1MTU3MTcsIm5iZiI6MTcyMzUxNTQxNywicGF0aCI6Ii8xMjE1MjQ5MjcvMzA4NzU2MzMxLTkyYmJkZWM2LTI2N2MtNGY5MS1iYzhmLTE4MjQyNDQ2NDY5Ni5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxM1QwMjE2NTdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wMDE5YmVmN2ZmNzVjZGZhYWQwYTkyMTI5ZTkzMzNjOWM1MDdkMjlhYTk4MDkyYmZmZTE0Y2Q1NTZhMzU0MTQ0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.iBgLHol6GvGjlzCIn4kuY_i-9QY3ukMPlR-4duufQBg)
![homepage](https://private-user-images.githubusercontent.com/121524927/308756392-bc99b60f-6939-4bf7-b4ee-033af1ab1321.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1MTU3MTcsIm5iZiI6MTcyMzUxNTQxNywicGF0aCI6Ii8xMjE1MjQ5MjcvMzA4NzU2MzkyLWJjOTliNjBmLTY5MzktNGJmNy1iNGVlLTAzM2FmMWFiMTMyMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxM1QwMjE2NTdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04ZDhmN2M5MGYwMWJlNmE2NTgyMDQwMzY5ZDFlMmIzMjQ5ODI0Yjc5Mjg1Njg3MTllMmVjNTgzMDRhMzEzZDQyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.q8nnEvFaHd163SM2he0pVVVtIT_3UKECatHgjEbnGCg)
![search](https://private-user-images.githubusercontent.com/121524927/308756405-d98e6843-4ef1-4e01-a8d5-1c950238747f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1MTU3MTcsIm5iZiI6MTcyMzUxNTQxNywicGF0aCI6Ii8xMjE1MjQ5MjcvMzA4NzU2NDA1LWQ5OGU2ODQzLTRlZjEtNGUwMS1hOGQ1LTFjOTUwMjM4NzQ3Zi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxM1QwMjE2NTdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00ZDhhNGI3YjRlMTU4YTJlMTczMDZkYWY3NmQ0OGU1MjY5ZDUzODZlNTU2ODQyZGY3OWQ1Yjg3YTYxZDUxZmFiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.2vQuHBL_IHgzqj6q7i3yBbp98PtN8SCFFtybjkk-fb0)
![product-detail](https://private-user-images.githubusercontent.com/121524927/308756508-531e973d-7acc-42af-9032-30fc820b30d9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1MTU3MTcsIm5iZiI6MTcyMzUxNTQxNywicGF0aCI6Ii8xMjE1MjQ5MjcvMzA4NzU2NTA4LTUzMWU5NzNkLTdhY2MtNDJhZi05MDMyLTMwZmM4MjBiMzBkOS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxM1QwMjE2NTdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04YjhmY2EwNDZmNDdjZTg2OWZkY2EwOGUzMjkwMThjODU2ZTFiOTI3M2YzMTFkMzdiYjI2OThiYTRjZTBjYjJlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.uTIzK2292CmjHa2tImD0x4sALI-tINXE7VKPLw1qEj4)
![favorites](https://private-user-images.githubusercontent.com/121524927/308756675-e4813561-e9a0-4af9-b2a1-657bd948369b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1MTU3MTcsIm5iZiI6MTcyMzUxNTQxNywicGF0aCI6Ii8xMjE1MjQ5MjcvMzA4NzU2Njc1LWU0ODEzNTYxLWU5YTAtNGFmOS1iMmExLTY1N2JkOTQ4MzY5Yi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxM1QwMjE2NTdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04MDJlNTc4OTI4ODE2YTQwMTNmNDA5YjA3NTVjYTZiZTFkOWI0OTM5ZjdlZjVmZmU4NmE3M2RiOGY5YzJhMjNiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.eE23zPj9k5nEN3eVOQKyHlGJadaLpJnk7UrKGr6pfYw)
![cart](https://private-user-images.githubusercontent.com/121524927/308756534-e88dacb1-c1a7-4dfc-8aa7-d572fe3985aa.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjM1MTU3MTcsIm5iZiI6MTcyMzUxNTQxNywicGF0aCI6Ii8xMjE1MjQ5MjcvMzA4NzU2NTM0LWU4OGRhY2IxLWMxYTctNGRmYy04YWE3LWQ1NzJmZTM5ODVhYS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODEzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgxM1QwMjE2NTdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xNDI3NzY4YTlhNTczYjVkN2IyNmFmOTc1NDc1MDIyNjZiNzFkYTFmN2JiMzRhMTM4MzlkZWFkOTVlYzgwYmVmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.WDg0U2qMsDvnvsb6tVEe21BAEwseWMRcTukU5xSptRU)
git clone https://github.com/wtorresjr/Craftsy-Etsy-Clone.git
pipenv install -r requirements.txt
- Run:
echo > ".env"
- Open the .env.example file and copy its contents into your newly created .env file
- Replace placeholder values with actual values for S3-related keys (See the AWS S3 Setup Instructions page)
- Enter your virtual environment:
pipenv shell
- Migrate your database:
flask db upgrade
- Seed your database:
flask seed all
- Run your server:
flask run
- In another terminal, change directory into react-app:
cd react-app
- Install node modules:
npm install
- Run your application:
npm start
Command | Description |
---|---|
pipenv shell | Automatically activates a virtual environment specifically for your project, keeping any dependencies installed isolated.
Run deactivate to exit the virtual environment and return to your shell environment. |
pipenv run | Can activate a virtual environment and run commands like the pipenv shell command; however flask commands must be prepended with this command (e.g., pipenv run flask db upgrade and pipenv run flask run). |
flask run | When prepended with pipenv run, it activates a virtual environment for your project.
Press CTRL + C to exit the virtual envrionment and return to your shell environment. |
flask db upgrade | Syncs the database schema. |
flask db downgrade | Reverts the database schema to the previous state. This is run, followed by flask db upgrade to update the application with any schema changes. |
flask seed all | Populates the database with seed file data. |
- Users can sign up, log in, and log out.
- Users can use a demo log in to try the site.
- Users can't use certain features without logging in (like Creating Products, leaving reviews, etc.)
- Users who log in while browsing a product will be redirected to the home page.
- Logged out users are redirected to home page.
- Should be able to view all Products.
- Should be able to create a Product.
- Should be able to update their Product(s).
- Should be able to delete their Product(s).
- Should be able to view all reviews on a Product.
- Should be able to create a review for a Product.
- Should be able to update their review for a Product.
- Should be able to delete their review from a Product.
- Should be able to view all products added to their cart.
- Should be able to add products to their shopping cart.
- Should be able to remove products from their shopping cart.
- Should be able to preform a "transaction" to complete their purchase.
- Should be able to view all of their favorite products.
- Should be able to favorite products.
- Should be able to delete products from their favorites.
- Inspired by Etsy
- Icons by Font Awesome