Go to file
heyarne e730a5cc5e Commit unstaged changes 2022-02-19 19:35:51 +01:00
resources Add robots.txt 2020-05-12 12:19:24 +02:00
src/heyarne/all_my_friends Commit unstaged changes 2022-02-19 19:35:51 +01:00
ssl Add ssl cert for localhost 2020-05-02 22:23:07 +02:00
uploads Implement upload endpoint :) 2020-05-09 10:43:12 +02:00
.dockerignore Use aero for config and make first deployable version 2020-05-07 07:40:25 +02:00
.envrc Setup direnv-based development environment 2021-04-19 18:51:48 +02:00
.gitignore Add simple static file server 2020-05-03 14:11:18 +02:00
Dockerfile Compile client before server 2020-05-11 16:22:32 +02:00
README.md Commit unstaged changes 2022-02-19 19:35:51 +01:00
deps.edn Update dependencies 2021-04-19 19:30:51 +02:00
package-lock.json Update dependencies 2021-04-19 19:30:51 +02:00
package.json Update dependencies 2021-04-19 19:30:51 +02:00
shadow-cljs.edn Proxy shadow-cljs requests to http server and fix http server start 2020-05-08 11:13:34 +02:00
shell.nix Setup direnv-based development environment 2021-04-19 18:51:48 +02:00


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. You can run a dev build like so:

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

clojure -A:cljs -m shadow.cljs.devtools.cli release app

If you want to get detailed info about bundle size, try:

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 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