Coder Social home page Coder Social logo

spree_admin's Introduction

CI Standard RB Standard JS StyleLint

Spree Admin

A fresh take on an Admin UI for Spree, this is currently intended to be highly experimental and should not be used for production.

Spree Admin is free of legacy dependencies and constraints, the goal is to speed up development and find new intuitive ways of using Spree Admin while completely modernizing the tech stack for the developers happiness.

Benefits

  • Product Images can be tagged to their applicable option(s).
  • New order process, more akin to building an invoice than attempting to replicate a shopping cart in an admin UI (WIP).
  • Modern UI (WIP).
  • Adaptive Light/Dark modes.

Installation

Starting with a freshly generated Rails 7 app running Propshaft, add the following gems to your Gemfile:

# USE THESE FOR NOW...
gem 'spree',             github: 'MatthewKennedy/spree',             branch: 'custom/spree_admin'
gem 'spree_admin',       github: 'MatthewKennedy/spree_admin',       branch: 'main'
gem 'spree_auth_devise', github: 'MatthewKennedy/spree_auth_devise', branch: 'custom/spree_admin'

From the command line run the following commands:

Install Spree

bin/rails g spree:install --user_class=Spree::User

Install Spree Auth Devise

bin/rails g spree:auth:install

Import Javascript from NPM - (OPTIONAL)

If you are using NPM to manage your javascript and want to import the javascript via node_modules run:

yarn add @matthewkennedy/spree-admin

And then create a new file in app/javascript called spree_admin.js and then import import '@matthewkennedy/spree-admin'.

The Tech Stack

  • All ES6 Vanilla JavaScript.
  • CSS and images all set for Rails Propshaft.
  • Uses the Rails Hotwire ecosystem where possible.
  • Bootstrap 5.

Run in Dev Mode

From the root of spree_admin run:

yarn watch

Running tests

cd spree_admin
bundle update
yarn build
bundle exec rake test_app
bundle exec rspec

Single test file:

bundle exec rspec spec/features/admin/users_spec.rb

ChromeDriver is required for feature tests. On MacOS you can install it by running:

brew install chromedriver

spree_admin's People

Contributors

matthewkennedy avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.