Fireshop is a webshop built on firebase and the Angular framework.
- Multilingual
- Universal Rendering (SSR)
- PWA
- Stripe Checkout
- Offline
- Browsing
- Cart
- Checkout
- Lazy Image Loading
- Google Analytics
- CI/CD (with CircleCi)
- Guess.js
- Prettier
- Fork this repository
- Create a firebase project
- Replace environment variables in firebase
An example deployment of the cms can be found here. You can use the credentials below to login with a read only account.
| Property | Value |
|---|---|
| Site | https://fireshop.admin.jaspero.co |
| example@jaspero.co | |
| Password | example |
The client application is split in to three main segments dashboard, shop and shared. Dashboard and shop represent the administrator dashboard and the client facing web shop respectively and the shared folder holds any code shared between the two.
A lot of CRUD operations are limited to admin access. You can read the full set of rules under firestore.rules.
To add an admin claim to an account add it to the email property of the settings/allowed-admins document.
- Human readable URL - In order to get human readable URL-s the product ID should be the URL. This is because firebase only allows loading of a single document by ID.
- Create a webhook and point it at
[jour-domain]/stripe/webhook. - Connect
payment_intent.succeededandpayment_intent.payment_failedevents for the webhook. - Added the stripe webhook secret to your integrations environment variables.
Creates a MailChimp account for every new user if the users email isn't listed already.