All Projects → alexabbott → Firebase Cms

alexabbott / Firebase Cms

Licence: mit
A CMS + E-commerce platform built with Angular and Firebase

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Firebase Cms

Vue Storefront
The open-source frontend for any eCommerce. Built with a PWA and headless approach, using a modern JS stack. We have custom integrations with Magento, commercetools, Shopware and Shopify and total coverage is just a matter of time. The API approach also allows you to merge VSF with any third-party tool like CMS, payment gateways or analytics. Ne…
Stars: ✭ 9,111 (+3085.66%)
Mutual labels:  ecommerce, e-commerce, storefront
Commerce.js
Open source, JS eCommerce SDK for building headless, Jamstack applications. Build custom storefronts, carts, and checkouts in any frontend framework, platform, or device. Integrates with Stripe, Square, PayPal, Paymill and Razorpay with support for 135+ currencies.
Stars: ✭ 112 (-60.84%)
Mutual labels:  ecommerce, storefront, stripe
Smartstore
Open Source ASP.NET Core Enterprise eCommerce Shopping Cart Solution
Stars: ✭ 82 (-71.33%)
Mutual labels:  ecommerce, e-commerce, cms
Example Storefront
Example Storefront is Reaction Commerce’s headless ecommerce storefront - Next.js, GraphQL, React. Built using Apollo Client and the commerce-focused React UI components provided in the Storefront Component Library (reactioncommerce/reaction-component-library). It connects with Reaction backend with the GraphQL API.
Stars: ✭ 471 (+64.69%)
Mutual labels:  ecommerce, e-commerce, storefront
Reaction
Mailchimp Open Commerce is an API-first, headless commerce platform built using Node.js, React, GraphQL. Deployed via Docker and Kubernetes.
Stars: ✭ 11,588 (+3951.75%)
Mutual labels:  ecommerce, e-commerce, storefront
Ever
Ever® - Open-Source Commerce Platform for On-Demand Economy and Digital Marketplaces
Stars: ✭ 980 (+242.66%)
Mutual labels:  ecommerce, e-commerce, storefront
saleor
A modular, high performance, headless e-commerce platform built with Python, GraphQL, Django, and React.
Stars: ✭ 15,824 (+5432.87%)
Mutual labels:  ecommerce, storefront, e-commerce
Jet
Jet is an e-commerce framework for Amber / Crystal
Stars: ✭ 18 (-93.71%)
Mutual labels:  ecommerce, e-commerce, storefront
S Cart
This project has been replaced by https://github.com/s-cart/s-cart
Stars: ✭ 258 (-9.79%)
Mutual labels:  ecommerce, e-commerce, cms
Saleor
A modular, high performance, headless e-commerce platform built with Python, GraphQL, Django, and React.
Stars: ✭ 14,720 (+5046.85%)
Mutual labels:  ecommerce, e-commerce, storefront
Laracom
Laravel FREE E-Commerce Software
Stars: ✭ 1,570 (+448.95%)
Mutual labels:  ecommerce, e-commerce, storefront
Buefy Shop
A sample shop built with Nuxt, Stripe, Firebase and Serverless Functions
Stars: ✭ 207 (-27.62%)
Mutual labels:  ecommerce, firebase, stripe
Vc Storefront
VirtoCommerce Storefront for ASP.NET Core 3.1 repository
Stars: ✭ 122 (-57.34%)
Mutual labels:  ecommerce, e-commerce, storefront
Smartstorenet
Open Source ASP.NET MVC Enterprise eCommerce Shopping Cart Solution
Stars: ✭ 2,363 (+726.22%)
Mutual labels:  ecommerce, e-commerce, cms
django ecommerce
Scalable Django E-Commerce, perfect to start one new online shop project.
Stars: ✭ 25 (-91.26%)
Mutual labels:  ecommerce, stripe, e-commerce
storefront-app
Storefront by Fleetbase is an open source hyperlocal shopping or services app. Enables users to quickly launch their own shop or service booking app or setup a multi-vendor marketplace.
Stars: ✭ 40 (-86.01%)
Mutual labels:  ecommerce, e-commerce
netlify-stripe-subscriptions
An example of managing subscriptions with the Stripe Customer Portal and Netlify Identity.
Stars: ✭ 96 (-66.43%)
Mutual labels:  stripe, e-commerce
MERN-Ecommerce
An E-commerce app built using MERN stack. It has 4 social login options and implements email verification as well. Stripe and Paypal payment gateways are implemented.
Stars: ✭ 50 (-82.52%)
Mutual labels:  ecommerce, stripe
storefront
An example storefront PWA for Vendure built with Angular
Stars: ✭ 101 (-64.69%)
Mutual labels:  storefront, e-commerce
marketplace
A file sharing website using Laravel 5.5
Stars: ✭ 19 (-93.36%)
Mutual labels:  ecommerce, stripe

FirebaseCMS

FirebasCMS is an e-commerce and blogging platform with a storefront and CMS built with Angular 4 (Angular CLI), Firebase (AngularFire2), Angular Material and Stripe. Create, moderate and manage pages, blog posts, products, orders, customers, carts, navigation, themes, admins and more with this web application.

Demo

Installation

Install Angular CLI

npm install -g @angular/cli

Install NPM packages

Run `npm install` or `yarn install`
cd functions/
Run `npm install`

Firebase setup

Create a Firebase account, create a new project, and copy the config code for your project.

Enable Google, Email/Password and Anonymous in the 'Sign-In Method' tab of the Authentication section in your Firebase project Console.

Within the project folder, run:

cd src
mkdir environments
cd environments
touch environment.ts
touch environment.prod.ts

Open 'environment.ts' and add your Firebase config as follows:

export const environment = {
  production: false,
  firebase: {
    apiKey: "xxxx",
    authDomain: "xxxxx",
    databaseURL: "xxxxx",
    projectId: "xxxxx",
    storageBucket: "xxxx",
    messagingSenderId: "xxxx"
  }
};

Open 'environment.prod.ts' and add your Firebase config as follows:

export const environment = {
  production: true,
  firebase: {
    apiKey: "xxxx",
    authDomain: "xxxxx",
    databaseURL: "xxxxx",
    projectId: "xxxxx",
    storageBucket: "xxxx",
    messagingSenderId: "xxxx"
  }
};

Stripe setup

Create a Stripe account.

Add your Stripe API Secret Key to firebase config:

firebase functions:config:set stripe.token=<YOUR STRIPE SECRET KEY>

Open 'environment.ts' and add your Stripe Publishable API Key as follows:

export const environment = {
  production: false,
  firebase: {
    apiKey: "xxxx",
    authDomain: "xxxxx",
    databaseURL: "xxxxx",
    projectId: "xxxxx",
    storageBucket: "xxxx",
    messagingSenderId: "xxxx"
  },
  stripe: "<YOUR STRIPE PUBLISHABLE KEY>"
};

Open 'environment.prod.ts' and add your Stripe Publishable API Key as follows:

export const environment = {
  production: true,
  firebase: {
    apiKey: "xxxx",
    authDomain: "xxxxx",
    databaseURL: "xxxxx",
    projectId: "xxxxx",
    storageBucket: "xxxx",
    messagingSenderId: "xxxx"
  },
  stripe: "<YOUR STRIPE PUBLISHABLE KEY>"
};

Create SuperAdmin Account

You'll need to manually add your first admin account. To generate a hashcode for it...

  1. Run npm run hashcode and enter your email. Copy hashcode
  2. Create new entry in your firebaseDB under, /admins/<YOUR HASHCODE>/ as follows:
admins: {
  <YOUR HASH CODE>: {
    {
      email: '<YOUR EMAIL>',
      role: 'super-admin'
    }
  }
}
  1. Create user in firebase user management with same email.

Email Confirmation setup

  1. To allow the app to send confirmation emails through a Gmail account: enable access to Less Secure Apps and Display Unlock Captcha. For accounts with 2-step verification enabled, Generate an App Password.
  2. Set the gmail.email and gmail.password Google Cloud environment variables to match the email and password of the Gmail account used to send emails (or the app password if your account has 2-step verification enabled). For this use:
firebase functions:config:set gmail.email="<EMAIL ADDRESS>" gmail.password="<PASSWORD>"

Development server

Run ng serve for a dev server. The app will automatically reload if you change any of the source files.

Navigate to http://localhost:4200/ to access the front end.

Navigate to http://localhost:4200/login to access the login page (login is via Google).

Navigate to http://localhost:4200/admin to access the CMS (user must be logged in and must be part of '/admins' in the Firebase database to access the CMS).

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|module.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the -prod flag for a production build.

Deploy

Run npm run deploy to deploy your project. This command will first build the app for production and then deploy it to Firebase hosting.

Admin Roles

There are 3 Admin Roles:

  • super-admin
  • admin
  • editor
Permission super-admin admin editor
create new entities
edit entities
submit entities for approval
save entities ×
delete entities ×
publish/unpublish entities ×
edit items awaiting approval ×
approve/disapprove changes ×
view/add/edit/delete orders ×
view/add/edit/delete customers ×
view/add/edit/delete menus ×
view/add/edit/delete theme settings ×
view/add/edit/delete admins × ×
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].