{"id":19910616,"url":"https://github.com/dzaporozhets/clojure-web-application","last_synced_at":"2025-05-03T03:30:36.905Z","repository":{"id":50886882,"uuid":"94544907","full_name":"dzaporozhets/clojure-web-application","owner":"dzaporozhets","description":"Sample web application built with Clojure. Easy start for people new to Clojure.","archived":false,"fork":false,"pushed_at":"2024-09-26T10:23:41.000Z","size":133,"stargazers_count":28,"open_issues_count":0,"forks_count":12,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-07T10:35:57.671Z","etag":null,"topics":["clojure"],"latest_commit_sha":null,"homepage":"https://gitlab.com/dzaporozhets/clojure-web-application","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dzaporozhets.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-06-16T13:08:55.000Z","updated_at":"2024-09-26T10:23:45.000Z","dependencies_parsed_at":"2023-01-21T04:51:59.832Z","dependency_job_id":null,"html_url":"https://github.com/dzaporozhets/clojure-web-application","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/dzaporozhets%2Fclojure-web-application","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dzaporozhets%2Fclojure-web-application/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dzaporozhets%2Fclojure-web-application/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dzaporozhets%2Fclojure-web-application/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dzaporozhets","download_url":"https://codeload.github.com/dzaporozhets/clojure-web-application/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252137498,"owners_count":21700223,"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":["clojure"],"created_at":"2024-11-12T21:19:31.507Z","updated_at":"2025-05-03T03:30:36.418Z","avatar_url":"https://github.com/dzaporozhets.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sample web application built with Clojure\n\n[![pipeline status](https://gitlab.com/dzaporozhets/clojure-web-application/badges/main/pipeline.svg)](https://gitlab.com/dzaporozhets/clojure-web-application/commits/main)\n\nThe goal of this project is to make a blank web application with authentication and tests.\nIt can be used as an template for starting a new project on Clojure or for learning Clojure.\n\nMerge requests to this project are welcome!\n\n## Index\n\n* [Prerequisites](#prerequisites)\n* [Features](#features)\n* [Running](#running)\n* [Database](#database)\n* [Tests](#tests)\n\n## Screenshot\n\nJust in case you are curious how it looks when started\n\n![Screen_Shot_2017-08-06_at_6.20.18_PM](https://gitlab.com/dzaporozhets/clojure-web-application/uploads/6d8ba305b6b5cd7c046ffda55c4ebe16/Screen_Shot_2017-08-06_at_6.20.18_PM.png)\n\n## Prerequisites\n\n1. [Leiningen][https://github.com/technomancy/leiningen] 2.0.0 or above installed.\n2. PostgreSQL\n\n## Features\n\n* Registration\n* Login\n* Profile page with ability to update the password and remove the account\n* PostgreSQL database with migrations\n* Layout with Bootstrap CSS and jQuery\n* Send email confirmation on signup (optional)\n* Avatar upload\n\n### TODO\n\n* add remember me checkbox for authentication\n* add forget password feature\n\n## Running\n\nCreate the database:\n\n    createdb sample\n\nTo start a web server for the application, run:\n\n    lein ring server\n\nNow visit http://localhost:3000/ to see the app running.\n\n### Run as container\n\nThe repository contains the `Dockerfile`. You can build and run the app with Docker.\nApp will be running on port `5000` by default. Database is not included.\nSo make sure to pass a `DATABASE_URL` to the container.\n\n### Running on Heroku\n\nClone the repository and cd into it. Then execute next commands:\n\n```\nheroku create\nheroku addons:create heroku-postgresql:hobby-dev\ngit push heroku main\nheroku open\n```\n\nThe last command should open the application in your browser.\n\n## Database\n\nApplication reads the `DATABASE_URL` environment variable for the database connection.\nIf none provided, it will use the default value from `src/sample/db.clj`.\n\n### Migrations\n\nMigrations are run automatically when you start the app or tests.\nIf you need to manually run migrations, you can use next command:\n\n    lein migratus migrate\n\n## Tests\n\nTo run tests you need to setup a test database\n\n    # create a separate database for tests\n    createdb sample-test\n\n    # run tests\n    DATABASE_URL=postgresql://localhost:5432/sample-test lein test\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdzaporozhets%2Fclojure-web-application","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdzaporozhets%2Fclojure-web-application","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdzaporozhets%2Fclojure-web-application/lists"}