{"id":20003038,"url":"https://github.com/37bytes/clj-url-shortener","last_synced_at":"2025-07-16T15:41:04.222Z","repository":{"id":105605396,"uuid":"486125278","full_name":"37bytes/clj-url-shortener","owner":"37bytes","description":null,"archived":false,"fork":false,"pushed_at":"2022-04-27T09:38:15.000Z","size":58,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-29T20:11:29.764Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/37bytes.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":"2022-04-27T09:19:22.000Z","updated_at":"2022-04-28T04:45:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"80c5dcf7-cf0b-4eb1-94ff-05b711482751","html_url":"https://github.com/37bytes/clj-url-shortener","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/37bytes/clj-url-shortener","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/37bytes%2Fclj-url-shortener","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/37bytes%2Fclj-url-shortener/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/37bytes%2Fclj-url-shortener/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/37bytes%2Fclj-url-shortener/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/37bytes","download_url":"https://codeload.github.com/37bytes/clj-url-shortener/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/37bytes%2Fclj-url-shortener/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265521909,"owners_count":23781576,"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-11-13T05:24:04.914Z","updated_at":"2025-07-16T15:41:03.939Z","avatar_url":"https://github.com/37bytes.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# clj-url-shortener\nВ проекте пока присутствуют лишние файлы, по умолчанию сгенерированные Luminus, некоторые из них я просто закомментил. \nПозже удалю все ненужные файлы и комментарии \n\n\n## Запуск проекта\n\n1. Для запуска проекта в Intellij Idea нужно установить плагин cursive.\n2. В открытом проекте в Idea пкм на project.clj -\u003e Run REPL / Debug REPL\n3. В репле вводим `(start)`, библиотека mount запустит все необходимые коннекты и создадст подобие pendency graph`а. \n\n## Запуск бд локально\n\n1. Создать аккаунт на сайте datomic, скачать datomic starter https://www.datomic.com/get-datomic.html, разархивировать \nи открыть директорию в терминале\n2. Запросить license key (Send licence key) в лк datomic https://my.datomic.com/account\n3. Заменить license= в config/samples/dev-transactor-templates.properties на ключ, который пришел на почту\n\n4. Запустить transactor - `bin/transactor -Ddatomic.printConnectionInfo=true config/samples/dev-transactor-template.properties` .\nДальнейшая работа происходит в отдельном окне терминала.\n5. Если подключаемся впервые, то отдельном окне терминала создаем новую бд: для этого запускаем репл bin/repl , затем\n`(require '[datomic.api :as d])`\n`(def db-uri \"datomic:dev://localhost:4334/url-shortener\") `- где \"url-shortener\" - имя бд\n`(d/create-database db-uri)` - создаем бд \"url-shortener\"\n`(def conn (d/connect db-uri))` - проверяем соединение\n6. Для работы с бд используется datomic client library, которая общается с Peer Server. Peer Server, в свою очередь \nобращается к хранилищу и транзактору для выполнения операций в бд. \nЗапускаем Peer Server, myaccesskey и mysecret нужно заменить на url-shortener  :\n`bin/run -m datomic.peer-server -h localhost -p 8998 -a url-shortener,url-shortener -d url-shortener,datomic:dev://localhost:4334/url-shortener `\n7. Опционально в одтельном окне терминала можно запустить веб-консоль `bin/console -p 8080 dev datomic:dev://localhost:4334/`\n8. В самом проекте запускаем репл и вводим `(start)`. В списке созданных зависимостей должен появиться\n`\"#'clj-url-shortener.db.core/conn\"`\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F37bytes%2Fclj-url-shortener","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F37bytes%2Fclj-url-shortener","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F37bytes%2Fclj-url-shortener/lists"}