Shareed is an e-commerce platform that allows users to buy and sell second-hand items. For the frontend is used Next.js and for the backend Keystone.js. The project is deployed free on Vercel and Heroku.
- Next.js (React.js framework)
- Typescript (Javascript superset)
- Keystone.js (CMS)
- PostgreSQL (database)
- Apollo Client (GraphQL client)
- Formik (form library)
- Yup (form validation)
- Stripe (payment processing)
- Vercel (hosting)
- Debounced Product Search with DownshiftJS
- Custom Stripe Checkout with Stripe Elements
- Form Validation with Formik and Yup
- Incremental Static Site Generation for product pages
- Server-Side Rendering for showing products
- Provide advanced caching with Apollo Client
- Testing with React Testing Library and Jest
The backend is deployed right now on the Heroku free tier.
- Live demo: https://shareed-backedn.onrender.com/
- GraphQL Playground: https://shareed-backedn.onrender.com/api/graphql
- Repository: https://github.com/thedevmian/shareed_backend
Demo credentials:
email: [email protected]
password: password1
The frontend is deployed right now on the Vercel free tier. Vercel is a hosting platform that supports Next.js out of the box.
- Live demo: https://shareed.vercel.app/
Test user credentials:
email: [email protected]
password: password1
Test credit card:
4242 4242 4242 4242
CVC: 222
MM/YY: 12/24
- Photos by Bailey Alexander on Unsplash
- Video by Cottonbro from Pexels
If you want to run the project locally, follow these steps:
- Clone the repository
git clone https://github.com/thedevmian/shareed_frontend.git
cd shareed_frontend
- Install dependencies
yarn install
- Create a
.env.local
file in the root directory and add the following environment variables:
NEXT_PUBLIC_BACKEND=
NEXT_PUBLIC_STRIPE_KEY=
- Run the project
yarn dev
yarn test
- Add more tests
- Add wishlist functionality
- Add functionality to pay again for an order (e.g. if the payment failed)
- Add toast notifications