{"id":17147950,"url":"https://github.com/toby/smacksmacksmack","last_synced_at":"2025-03-24T11:17:56.049Z","repository":{"id":136460399,"uuid":"48777335","full_name":"toby/smacksmacksmack","owner":"toby","description":"A quick web app designed to help little kids learn about keyboards and letters.","archived":false,"fork":false,"pushed_at":"2015-12-31T00:05:12.000Z","size":17,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-29T16:25:27.016Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://smacksmacksmack.herokuapp.com/","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/toby.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-12-30T02:34:02.000Z","updated_at":"2022-08-09T00:05:50.000Z","dependencies_parsed_at":"2023-03-16T16:00:51.008Z","dependency_job_id":null,"html_url":"https://github.com/toby/smacksmacksmack","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toby%2Fsmacksmacksmack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toby%2Fsmacksmacksmack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toby%2Fsmacksmacksmack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toby%2Fsmacksmacksmack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/toby","download_url":"https://codeload.github.com/toby/smacksmacksmack/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245258216,"owners_count":20585977,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T21:26:40.283Z","updated_at":"2025-03-24T11:17:56.022Z","avatar_url":"https://github.com/toby.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# smacksmacksmack\n\n## What is it?\n\nA quick web app designed to help little kids learn about keyboards\nand letters. The live version is at http://smacksmacksmack.herokuapp.com/\n\n\n## Development\n\nOpen a terminal and type `lein repl` to start a Clojure REPL\n(interactive prompt).\n\nIn the REPL, type\n\n```clojure\n(run)\n(browser-repl)\n```\n\nThe call to `(run)` does two things, it starts the webserver at port\n10555, and also the Figwheel server which takes care of live reloading\nClojureScript code and CSS. Give them some time to start.\n\nRunning `(browser-repl)` starts the Weasel REPL server, and drops you\ninto a ClojureScript REPL. Evaluating expressions here will only work\nonce you've loaded the page, so the browser can connect to Weasel.\n\nWhen you see the line `Successfully compiled \"resources/public/app.js\"\nin 21.36 seconds.`, you're ready to go. Browse to\n`http://localhost:10555` and enjoy.\n\n**Attention: It is not longer needed to run `lein figwheel`\n  separately. This is now taken care of behind the scenes**\n\n## Trying it out\n\nIf all is well you now have a browser window saying 'Hello Chestnut',\nand a REPL prompt that looks like `cljs.user=\u003e`.\n\nOpen `resources/public/css/style.css` and change some styling of the\nH1 element. Notice how it's updated instantly in the browser.\n\nOpen `src/cljs/smacksmacksmack/core.cljs`, and change `dom/h1` to\n`dom/h2`. As soon as you save the file, your browser is updated.\n\nIn the REPL, type\n\n```\n(ns smacksmacksmack.core)\n(swap! app-state assoc :text \"Interactivity FTW\")\n```\n\nNotice again how the browser updates.\n\n## Deploying to Heroku\n\nThis assumes you have a\n[Heroku account](https://signup.heroku.com/dc), have installed the\n[Heroku toolbelt](https://toolbelt.heroku.com/), and have done a\n`heroku login` before.\n\n``` sh\ngit init\ngit add -A\ngit commit\nheroku create\ngit push heroku master:master\nheroku open\n```\n\n## Running with Foreman\n\nHeroku uses [Foreman](http://ddollar.github.io/foreman/) to run your\napp, which uses the `Procfile` in your repository to figure out which\nserver command to run. Heroku also compiles and runs your code with a\nLeiningen \"production\" profile, instead of \"dev\". To locally simulate\nwhat Heroku does you can do:\n\n``` sh\nlein with-profile -dev,+production uberjar \u0026\u0026 foreman start\n```\n\nNow your app is running at\n[http://localhost:5000](http://localhost:5000) in production mode.\n\n\n## Chestnut\n\nCreated with [Chestnut](http://plexus.github.io/chestnut/) 0.8.1 (90e701e0).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoby%2Fsmacksmacksmack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftoby%2Fsmacksmacksmack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoby%2Fsmacksmacksmack/lists"}