{"id":18074387,"url":"https://github.com/headwinds/creeps","last_synced_at":"2025-09-01T16:42:37.525Z","repository":{"id":150897460,"uuid":"176798424","full_name":"headwinds/creeps","owner":"headwinds","description":"a complete Clojure \u0026 ClojureScript sample project","archived":false,"fork":false,"pushed_at":"2019-03-20T19:02:56.000Z","size":5326,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-11T16:21:15.231Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/headwinds.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-20T18:55:17.000Z","updated_at":"2019-03-20T19:02:59.000Z","dependencies_parsed_at":"2023-04-08T19:47:24.651Z","dependency_job_id":null,"html_url":"https://github.com/headwinds/creeps","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/headwinds%2Fcreeps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/headwinds%2Fcreeps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/headwinds%2Fcreeps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/headwinds%2Fcreeps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/headwinds","download_url":"https://codeload.github.com/headwinds/creeps/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247385631,"owners_count":20930599,"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-31T10:12:27.994Z","updated_at":"2025-04-05T18:45:50.189Z","avatar_url":"https://github.com/headwinds.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lesson 3\n\nUnlike major sports, eSports is still a phenomenon on the fringe. Unless you play the games, you probably aren't aware of the live tournaments, the millions in prize money, and the players who dedicate their lives to the game.\n\nGamers have a potato stereotype but many hardcore athletes. What if there work outs could fuel and influence their favourite game?\n\n\n* [Reagent](https://github.com/reagent-project/reagent)\n* [Re-frame](https://github.com/Day8/re-frame)\n* [Material UI](https://material-ui.com/)\n* [Buddy](https://github.com/funcool/buddy)\n* [Clj-Strava](https://github.com/ekimber/clj-strava)\n* [PostgreSQL, DBeaver, \u0026 Heroku](http://thebar.cc/connecting-dbeaver-to-a-heroku-postgres-database/)\n\n![screenshot](gallery.png)\n\n## Getting Started\n\n\nTo work on the front end:\n```\nlein figwheel\n```\n\nIn dev, there is a big API problem between communication between figwheel and the ring server. We need to figure out [figwheel can start the ring server](https://github.com/bhauman/lein-figwheel/tree/master/examples/using-ring-handler) which seems straight forward.\n\nTo work on the back end:\n```\nlein ring server\n```\n\n## Demo\n\n[live demo](https://intense-eyrie-34041.herokuapp.com/)\n\n## Contributing\n\nThis is great opportunity to learn Reagent, Re-frame and Material-UI as a group.\n\nPlease use the demo-template.cljs to create your component demo and it the list in sidebar.cljs file.\n\n## Deployment to Heroku\n\nCopy this example folder into a new directory outside of this git repo so that it has it own git repo. We don't want to have nested repos. A future improvement would to have a build script that would automatically move it.\n\n!! Copy and paste this folder into a new directory outside of this project repo !!\n\n\n1. View the project the browser which also compiles necessary files that are later built in the uberjar\n\n```\nlein figwheel\n```\n\n2. Create the uberjar\n\n```\nlein with-profile -dev,+production uberjar\n```\n\n3. Deploy to Heroku\n\n```\nheroku login\ngit init\ngit add .\ngit commit -m \"first commit\"\nheroku create\ngit push heroku master\nheroku ps:scale web=1\nheroku open\n```\n\nNote: because you moved this into a new directory, you shouldn't have a problem but if you happen to have github repo too you will need to add heroku. After you do the step `heroko create` you will need to add the heroku path `heroku git:remote -a radiant-falls-68370` replacing that radiant-falls-68370 with whatever heroku spit out for you.\n\nThen open your browser whatever url it created ie: https://glacial-badlands-20785.herokuapp.com/\n\n## Dev Credit\n\n* [clojure \u0026 postgres recipe](https://github.com/clojure-cookbook/clojure-cookbook/blob/master/06_databases/6-03_manipulating-an-SQL-database.asciidoc)\n* [json to clojure and vice versa](https://stackoverflow.com/questions/3436216/how-to-map-clojure-code-to-and-from-json)\n* [compojure creating responses](https://github.com/ring-clojure/ring/wiki/Creating-responses)\n* [compojure \u0026 ring](https://github.com/magomimmo/modern-cljs/blob/master/doc/first-edition/tutorial-03.md)\n* [using a ring handler with figwheel](https://github.com/bhauman/lein-figwheel/tree/master/examples/using-ring-handler)\n* [lock-key](https://github.com/clavoie/lock-key)\n* [buddy](https://github.com/funcool/buddy)\n* [caesium](https://github.com/lvh/caesium)\n* [Exploring Java AES encryption algorithm with Clojure](http://jyliao.blogspot.com/2010/08/exploring-java-aes-encryption-algorithm.html)\n\n## Dota2 Credit\n\n* [Dota 2 Guide Competitive Positions](https://imperium.news/dota-2-guide-competitive-positions/)\n* [Normal Person's Guide to Watching Dota2](https://www.polygon.com/2016/8/8/12401068/dota-2-watching-guide)\n* [Dota 2 Logo](https://www.flaticon.com/free-icon/dota-2_588267)\n\n## Clojure Roguelike\n\n* [caves-of-clojure](http://stevelosh.com/blog/2012/07/caves-of-clojure-01/)\n* [game-development-in-clojure](https://clojurefun.wordpress.com/2013/03/21/game-development-in-clojure-alchemy-7drl-post-mortem/)\n* [Clojure rogue-like-like-like-like-like because why not?](https://github.com/aaron-santos/robinson)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheadwinds%2Fcreeps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheadwinds%2Fcreeps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheadwinds%2Fcreeps/lists"}