{"id":20458040,"url":"https://github.com/kortrk/library","last_synced_at":"2026-04-11T02:44:21.385Z","repository":{"id":241596834,"uuid":"805444712","full_name":"kortrk/library","owner":"kortrk","description":"A full-stack library website.","archived":false,"fork":false,"pushed_at":"2024-09-17T20:55:32.000Z","size":68085,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-16T00:14:45.685Z","etag":null,"topics":["angular","backend","frontend","postgresql","ruby","ruby-on-rails","typescript"],"latest_commit_sha":null,"homepage":"http://kortrk.github.io/library-gh-pages","language":"TypeScript","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/kortrk.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":"2024-05-24T15:31:13.000Z","updated_at":"2024-09-17T20:55:36.000Z","dependencies_parsed_at":"2024-07-29T20:02:44.845Z","dependency_job_id":"46d2dcdc-ec5a-499a-8336-ec3d39b33d7c","html_url":"https://github.com/kortrk/library","commit_stats":null,"previous_names":["kortrk/library"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kortrk%2Flibrary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kortrk%2Flibrary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kortrk%2Flibrary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kortrk%2Flibrary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kortrk","download_url":"https://codeload.github.com/kortrk/library/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242014250,"owners_count":20057871,"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":["angular","backend","frontend","postgresql","ruby","ruby-on-rails","typescript"],"created_at":"2024-11-15T12:10:21.871Z","updated_at":"2026-04-11T02:44:16.358Z","avatar_url":"https://github.com/kortrk.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- \u003cimg src=\"https://github.com/kortrk/library/assets/7088687/e56b5364-da15-4284-8f6f-514e7efc4db4\" width=1000 height=100\u003e --\u003e\n\u003c!-- \u003cimg src=\"https://github.com/kortrk/library/assets/7088687/4324533d-728e-4308-b113-cdec5ebeed40\" width=1000 height=100\u003e --\u003e\n\u003cimg src=\"https://github.com/kortrk/library/assets/7088687/34d6c7cf-a112-429d-b3d7-b7f4af73d294\" width=1000 height=100\u003e\n\n# Library\nA single-page app using Angular, Ruby on Rails, and PostgreSQL.\n\n\u003c!-- ![Cornerstone Library Cover Image](https://github.com/user-attachments/assets/b3d21a6c-5d34-40c3-abf8-b166d988a6eb) --\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/b3d21a6c-5d34-40c3-abf8-b166d988a6eb\" width=300\u003e\n\n## Static Live Demo\n[Check out a static live demo of the frontend here!](https://kortrk.github.io/library-gh-pages)\n\n([v1.0.0](https://kortrk.github.io/library-gh-pages) is the old code it was built with)\n\n## Video\n[Quick Overview](https://www.youtube.com/watch?v=F46VmbSAUU8)\n\n## How to Run\n- Start Docker Desktop on your machine.\n- `git clone` this project and go to its top level (same place as this README)\n- `./build_env.sh` (takes about 3 minutes)\n- `./run_env.sh`\n- Access \u003cb\u003elocalhost:4200\u003c/b\u003e on your browser\n\n## Notable Features\n- To give the librarian more control, I built a \"visible\" flag that can be checked or unchecked to temporarily hide a book from customers. For example, a librarian can start creating a new book but hide it until it's physically in the building and ready to borrow.\n- For demo purposes, you can click \u003cb\u003eGo\u003c/b\u003e on an empty search and get all the books.\n   - This is a trick to help you see how it works, but wouldn't be a feasible thing to do with a real library website.\n- JSON Web Tokens are the core of the authorization and authentication process. They are stored in HttpOnly cookies.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkortrk%2Flibrary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkortrk%2Flibrary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkortrk%2Flibrary/lists"}