38 lines
1.4 KiB
Markdown
38 lines
1.4 KiB
Markdown
# 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
|
|
npx shadow-cljs 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
|
|
npx shadow-cljs release :app
|
|
```
|
|
|
|
If you want to get detailed info about bundle size, try:
|
|
|
|
``` sh
|
|
npx shadow-cljs run 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)
|