# All my Friends This is scratching a weird itch that started when I saw my friends mostly online. ## What is happening?! The project is built via [shadow-cljs](https://shadow-cljs.github.io/docs/UsersGuide.html). You can run a dev build like so: ``` sh clojure -A:cljs -m shadow.cljs.devtools.cli server app ``` This starts a web server at localhost:8080 and also starts an nRPL server that you can connect to in your editor Similarly, a production-optimized app can be generated via ``` sh clojure -A:cljs -m shadow.cljs.devtools.cli release app ``` If you want to get detailed info about bundle size, try: ``` sh clojure -A:cljs -m shadow.cljs.build-report app report.html ``` The server component has to be started separately. You probably want to do this from within your editor while developing (see below). ## Important paths * `src/heyarne/all_my_friends/server.clj`: Contains a simple HTTP server that serves static files and has a handler for uploads * `src/heyarne/all_my_friends/client.cljs`: Is the starting point for the client application * `resources/config.edn`: Uses [aero](https://github.com/juxt/aero/tree/1ecae6465405643aaacd54b9b45b4fdb92d1cf7a) for configuration. * `resources/public`: Contains HTML and CSS files. `resources/public/js` is automatically compiled. * `deps.edn`: Client and server dependencies and build configuration * `shadow-cljs.edn`: Client-side build config for [shadow-cljs](https://shadow-cljs.github.io/docs/UsersGuide.html)