A modern e-commerce storefront app that's built to support multiple e-commerce backends. Out of the box, a Saleor adapter is provided, which may be used as a template to develop adapters for other frameworks. This project is still in its infancy, but you're welcome to experiment with it and give feedback and suggestions.
- Clean minimalistic responsive design
- Easy theming and customization using AntD token system
- Configure home page layout by stacking predefined blocks
- Integration with MeiliSearch to provide blazing fast search suggestions
- Support for Google Ecommerce analytics (GA4)
- Good performance
- Multi-language support, PWA superpowers, SEO, and more
To simplify development and to allow for easy customization, we've chosen the following tools.
- β¨ Ant Design as UI framework
- π₯ RakkasJS as vite-powered app framework
- π ReactJS as underlying UI technology
- πͺ Typescript for safety
- π React-Query as data manager
Follow the Getting Started guide on the wiki.
Here are the commands for running and building the project. Install dependencies
$ pnpm i
Start the dev server
$ pnpm dev
Build app bundle.
$ pnpm build
Preview built app bundle.
$ pnpm start
Refer to the Configuration page on the wiki.
Refer to Theming and Customizing the Home Page on the wiki.
All visible UI strings are set up in locale files to enable easy translation of the UI to different languages. Currently, only English and French (Google Translate quality) are available. Other languages will be slowly added after reaching a stable version. When that time comes, we'll likely need your help with the translations π
Generate GraphQL types for typescript whenever you modify a GraphQL query or mutation.
$ pnpm codegen
Run unit tests to make sure things are in working order.
$ pnpm test
Run end-to-end (e2e) tests to make sure the pages are working properly. This requires you to have the Chrome browser installed on your machine.
$ pnpm test-e2e
Head over to the Projects tab to see what tasks are being planned or worked on. Feel free to join the discussions on specific issues to help us cater to different use cases, or just to share ideas.
Like our work? There are several ways you can contribute. You could help tackle some of our issues if you're a developer. Issues labeled "good first issue" are a good place to start. Be sure to check the current tasks to see if someone's already working on it before making a PR. You could also help us by playing with the app and reporting bugs to us, or making suggestions for improvements. Just create an issue.
MIT Licensed. We provide no guarantees and take no liabilities. If you're cool with that, you may use this project, modify it, share it, use commercially, etc. Read the fine details in the LICENSE file.
We haven't quite set up channels for this yet. Hang in there. For the time being, you may open an issue for help requests and we'll do our best to respond to them on time.
Give us stars, talk about us, ...or just send us cat pictures over here in our Nuclear Cat Reactor. They motivate us.