https://github.com/guisalmeida/zopa-store
A ReactJS e-commerce application.
https://github.com/guisalmeida/zopa-store
context-api firebase firebase-auth firestore-database react react-hooks react-router redux redux-persist redux-saga redux-thunk stripe styled-components
Last synced: 2 months ago
JSON representation
A ReactJS e-commerce application.
- Host: GitHub
- URL: https://github.com/guisalmeida/zopa-store
- Owner: guisalmeida
- Created: 2023-10-17T00:27:52.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-01-15T19:11:39.000Z (over 2 years ago)
- Last Synced: 2024-01-16T06:01:18.810Z (over 2 years ago)
- Topics: context-api, firebase, firebase-auth, firestore-database, react, react-hooks, react-router, redux, redux-persist, redux-saga, redux-thunk, stripe, styled-components
- Language: TypeScript
- Homepage: https://zopa-clothing.netlify.app/
- Size: 5.64 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Zopa Store
## Start
To run this project properly you will need also to configure a backend environment. So after configuring this project go to [Zopa Store Api](https://github.com/guisalmeida/zopa-store-api) project and follow the steps there too.
> Please make sure to configure the environment variables as well, take a look at `.env.example`, and create a file `.env` in your root.
```
git clone git@github.com:GuiSAlmeida/zopa-store.git
cd zopa-store
npm install
# up server at http://localhost:5173/
npm run dev
```
## 🚀 Technologies
- [React reselect](https://github.com/reduxjs/reselect#installation)
- [Redux Persist](https://github.com/rt2zz/redux-persist#basic-usage)
- [Redux-thunk](https://github.com/reduxjs/redux-thunk)
- [Redux-saga](https://redux-saga.js.org/)
- [Stripe](https://github.com/stripe/react-stripe-js)
- [Recharts](https://recharts.org/)
## ⚙️ Todo / Issues / Upcoming features
- [x] Feat: Private route admin;
- [x] Feat: Create a sold-out feat product page;
- [x] Fix: form select default value;
- [x] Feat: Finish user list admin crud;
- [ ] Fix: local storage get token;
- [ ] Fix(admin product page): Register sizes;
- [ ] Refactor: remove all TS-ignore;
- [ ] Feat: Create user auth validation when already logged in;
- [ ] Feat: Create stock quantity and manage with each size;
- [ ] Feat: Improve admin page mobile;
- [ ] Feat: Improve user details page;
- [ ] Test: e2e and accessibility with POM (page object model) pattern;
## References
- [Styled components + TS](https://styled-components.com/docs/api#typescript)
- [Styled components + TS guide](https://www.atatus.com/blog/guide-to-typescript-and-styled-components/)
- [React + TS cheatsheet](https://react-typescript-cheatsheet.netlify.app/docs)