soulsam480/ecom-cms

View on GitHub
README.md

Summary

Maintainability
Test Coverage
# ecom-cms

Open Source standalone CMS (Content Management System) project on top of [@vuejs](https://vuejs.org) for [@firebase](https://firebase.google.com) and [JAMstack](https://jamstack.org) powered e-commerce web apps.

INFO: [![Maintainability](https://api.codeclimate.com/v1/badges/120b86df5816a2a5f47f/maintainability)](https://codeclimate.com/github/soulsam480/ecom-cms/maintainability)
[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/soulsam480/ecom-cms/issues)
[![Known Vulnerabilities](https://snyk.io/test/github/soulsam480/ecom-cms/badge.svg?targetFile=package.json)](https://snyk.io/test/github/soulsam480/ecom-cms?targetFile=package.json)
[![GitHub license](https://img.shields.io/github/license/Naereen/StrapDown.js.svg)](https://github.com/soulsam480/ecom-cms/blob/master/LICENSE.md)
[![GitHub contributors](https://img.shields.io/github/contributors/Naereen/StrapDown.js.svg)](https://github.com/soulsam480/ecom-cms/graphs/contributors)

For contributing to this project visit the [Contributing Guide](./CONTRIBUTING.md).

We strictly follow the repo [Code of Conduct](./CODE_OF_CONDUCT.md).

### Setup

```
git clone git@github.com:soulsam480/ecom-cms.git
cd ecom-cms
npm install
```

Put you firebase credentials inside src/firebase/cred.js in the below format

```
const config = {
    apiKey: "API KEY",
    authDomain: "AUTH DOMAIN",
    databaseURL: "DATABASE URL",
    projectId: "PROJECT ID",
    storageBucket: "STORAGE BUCKET",
    messagingSenderId: "MESSAGE SENDER ID",
    appId: "APP ID",
  };

  export default config;

```

then

```
npm run serve
```

The project dev server will run on localhost:8080

### Structure

![File Structure](<https://raw.githubusercontent.com/soulsam480/my-static-assets/master/Screenshot%20(520).png>)

#### folder guide

- public folder has all the assets that are to be untouched by webpack while building. They will be injected unmodified.
- src - has all the code which is to be built into dist for deployment.
- src/assets - has all the static assets eg. images, fonts, etc.
- src/components - has all the vue components
- src/firebase - firebase credentials and exported firebase functions
- src/models and src/plugins are currently deprecated.
- src/router - vue router index.js
- src/store - vuex store index.js
- src/styles - single default.scss for default style across the project. Specific components and views have their own styles with a scoped attribute.
- src/views - All views or more precisely views.
- App.vue - Main vue file which is the container of this project. for more reference go to the [reference](#refrence).
- main.js - Javascript file that combines the project. for more reference go to the [reference](#refrence).

#### Configs

- eslint config inside .eslintrc.js file
- babel config inside babel.config.js
- Vue config inside vue.config.js

### Features

##### Current

This CMS does almost all the basic stuff for now. A detailed list of all the features are

- Complete Product Management
  _ Add
  _ Update \* Delete
- Media Management \* Media view and Delete
- Order Management
  _ Order view
  _ Order status Update \* Color-coded Order Status

##### Projected

- Sending Order status mails (Projected)
- Sending invoices (Projected)
- Category Management
- Product Models and Classes management
- Product Specs management

I have these ideas for the project. If you wish to contribute please visit the contributing guide and open a pull request!

### References

- [Vuejs Docs](https://vuejs.org)
- [Vue Router docs](https://router.vuejs.org)
- [Vuex Docs](https://vuex.vuejs.org)
- [Firebase Web Docs](https://firebase.google.com/docs/web/setup)

Thank you. FOr any help or queries reach me

🕊 [twitter](https://twitter.com/sambitsahoojs) / 📧 [mail](mailto:soulsam480@hotmail.com)