I started this project 2 years ago to practice coding skills. The idea is to keep reflecting things I learn on my 9-5 job and improve this project over time. As this is a constant in-progress work, you may find things you don't like or that probably you would do in a different way. I'm open to suggestions and constructive criticism! :)
This project is a monorepo that uses PNPM Workspaces and Turbo Repo and it's divided in 2 workspaces: apps (main & admin) and packages (configs and UI components)
It's the website and the store. This was thought as a page without routes: One section next to the other. The idea is to make the user scroll through different contents as the information shown can be valuable for them and help the e-commerce to have more sells.
A friend was helping me with this part of the app and I haven't touched it for a really long time. This is currently not working and won't be included in the building list process. There is a lot of work to do here :).
UI packages (Inputs, Spinner, Button, etc) and config files (Tailwind, Prettier, TypesScript, etc) that are shared between the apps.
- Structure and build: PNPM Workspaces and Turbo Repo
- Apps Front & back: Next JS (Main app: v12, Admin app: v13) with TypeScript
- CSS: Tailwind CSS
- DB: Mongo DB & Mongoose
- Payments: Stripe
- Deployment: Vercel
- Testing: Vitest & RTL (pending to implement)
Use the package manager pnpm to install and build.
pnpm install
pnpm build
In order to run the main app, you can do:
pnpm --filter main dev
As mentioned, Admin app is not working and it won't be included in the building list.
Usually the app is running here and will have it's own domain soon at https://www.chargeupbcn.com
- Tests!! Lot's of them. My idea is to reach a 50% coverage and then move to 80%
- Implement the Admin site.
- Improve some UI components like email & order confirmation pages.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.