You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
heyarne e730a5cc5e Commit unstaged changes 1 year ago
resources Add robots.txt 3 years ago
src/heyarne/all_my_friends Commit unstaged changes 1 year ago
ssl Add ssl cert for localhost 3 years ago
uploads Implement upload endpoint :) 3 years ago
.dockerignore Use aero for config and make first deployable version 3 years ago
.envrc Setup direnv-based development environment 2 years ago
.gitignore Add simple static file server 3 years ago
Dockerfile Compile client before server 3 years ago Commit unstaged changes 1 year ago
deps.edn Update dependencies 2 years ago
package-lock.json Update dependencies 2 years ago
package.json Update dependencies 2 years ago
shadow-cljs.edn Proxy shadow-cljs requests to http server and fix http server start 3 years ago
shell.nix Setup direnv-based development environment 2 years ago

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