GithubHelp home page GithubHelp logo

prestancedesign / pingcrm-clojure Goto Github PK

View Code? Open in Web Editor NEW
103.0 6.0 9.0 1.74 MB

PingCRM on Clojure - A Clojure/Script fullstack demo application to illustrate how Inertia.js works.

Home Page: https://inertia.prestance-design.com

License: MIT License

Emacs Lisp 0.21% Clojure 99.79%
clojure reitit next-jdbc single-page-app integrant re-frame reagent shadow-cljs react clojurescript

pingcrm-clojure's Introduction

Ping CRM on Clojure

A demo application built with Clojure + ClojureScript to illustrate how Inertia.js works.

This is a port of the original Ping CRM written in Laravel/PHP + VueJS to Clojure with Integrant, Ring, Reitit, next.jdbc and ClojureScript Reagent.

There is a hosted installation of this demo available at https://inertia.prestance-design.com/.

Installation

Clone the repo locally:

git clone https://github.com/prestancedesign/clojure-inertia-pingcrm-demo
cd clojure-inertia-pingcrm-demo

Run the application

Build the front-end

npm install & npm run release

Run the back-end

clj -M:run

You're ready to go! Open http://localhost:3000 and login with:

Run the application on development (REPL)

Run the front-end with JS and CSS hot reloading

npm run dev

Run the back-end REPL

clj -M:dev

Once REPL starts, run the system:

(go)

Open http://localhost:3000

External resources

License & Copyright

Copyright (c) 2021 Prestance / Michaël SALIHI. Distributed under the MIT license.

pingcrm-clojure's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

pingcrm-clojure's Issues

Something wrong with shadow-cljs or front end asset generation in general when building release?

When I do an npm run release I get

> run-s -l *:release

[shadow:release ] 
[shadow:release ] > shadow:release
[shadow:release ] > shadow-cljs release app
[shadow:release ] 
[shadow:release ] shadow-cljs - config: /Users/josh/code/personal/pingcrm-clojure/shadow-cljs.edn
[shadow:release ] [:app] Compiling ...
[shadow:release ] Wrote build report to: /Users/josh/code/personal/pingcrm-clojure/public/js/report.html
[shadow:release ] [:app] Build completed. (136 files, 0 compiled, 0 warnings, 11.45s)
[postcss:release] 
[postcss:release] > postcss:release
[postcss:release] > cross-env NODE_ENV=production postcss src/css/tailwind.css -o ./public/css/app.css --verbose
[postcss:release] 
[postcss:release] Processing src/css/tailwind.css...
[postcss:release] Browserslist: caniuse-lite is outdated. Please run:
[postcss:release] npx browserslist@latest --update-db
[postcss:release] 
[postcss:release] Why you should do it regularly:
[postcss:release] https://github.com/browserslist/browserslist#browsers-data-updating
[postcss:release] Finished src/css/tailwind.css in 3.67 s

And then clj -M:run
and go to the page I find the page renders like this

image

If I go and generate the assets with dev commands like

npm run dev

and I keep the normal release-mode clojure process running (from clj -M:run), I navigate to the page and find the page renders normally

image

I've narrowed it down that if I manually execute

shadow-cljs release app
# or
shadow-cljs compile app

the wrong front end assets get generated but if I run shadow-cljs watch app the correct assets are generated.

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.