{"id":16708510,"url":"https://github.com/framstag/urlstr","last_synced_at":"2026-04-13T22:32:20.249Z","repository":{"id":43416871,"uuid":"275559138","full_name":"Framstag/urlstr","owner":"Framstag","description":"URLStr is a small application to manage your bookmarks","archived":false,"fork":false,"pushed_at":"2023-07-14T13:20:29.000Z","size":707,"stargazers_count":1,"open_issues_count":9,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-10T12:42:54.279Z","etag":null,"topics":["angular","angular-material","bookmarks","neo4j","quarkus"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Framstag.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2020-06-28T10:16:54.000Z","updated_at":"2021-05-02T19:02:25.000Z","dependencies_parsed_at":"2024-12-18T10:10:59.653Z","dependency_job_id":"47f1ec47-acfa-4f47-ab1b-e7f98e5106ef","html_url":"https://github.com/Framstag/urlstr","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/Framstag%2Furlstr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Framstag%2Furlstr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Framstag%2Furlstr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Framstag%2Furlstr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Framstag","download_url":"https://codeload.github.com/Framstag/urlstr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247289394,"owners_count":20914464,"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","angular-material","bookmarks","neo4j","quarkus"],"created_at":"2024-10-12T19:45:05.364Z","updated_at":"2025-10-07T13:44:42.365Z","avatar_url":"https://github.com/Framstag.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# URLStr\n\n## About\n\nURLStr is short for URLStore and is a little bookmark management\napplication using an embedded Neo4J database in the background for\nrich data management, Quarkus using Java as backend framework, and\nAngular for the frontend.\n\nURLStr was created because of my need to manage, tag, comment and\nquery my huge list (bookmarks) of online resources (articles,\nvideos...).\n\nAnother need was to have my bookmarks stored in a local application\nthat runs in my home network. In fact it should run on a simple home\nserver or NAS as a simple docker container - easy to setup, manage and update.\n\nThe most import and final need was to experiment with (for me) new technology,\nin this case above mentioned and more. It was also started\nto study using [DDD](https://en.wikipedia.org/wiki/Domain-driven_design)\nprinciples using Quarkus.\n\nCurrently used technologies.\n\n* [Quarkus](https://quarkus.io)\n* [Neo4J](https://neo4j.com)\n* [Angular](https://angular.io)\n* [Angular Material UI](https://material.angular.io/)\n\nOlder versions used Svelte/Swagger but I recently switched to Angular.\n\n## Status\n\nThis is currently very much work in progress.\n\n* Basic function do not work yet\n* UI flow is far from finalized\n* Database design is not finished\n* Use cases are not finalized\n\n## Future\n\nThis is fun- and study-ware. I currently do not have the time to work\non this regulary. My most important goals are to have fun while learning.\n\nHaving the best-possible application is currently not a goal and\nlikely would not be reached anyway because of lack of time.\n\nHowever you are welcome to participate and learn with me or\nmake me learn from you -as long as you do not change the most important\ndesign and technology decisions. Just contact me.\n\n## Build for development\n\n### Backend\n\nThis is a normal Quarkus application. Run it in development mode\nusing\n\n```bash\n   \u003e mvn quarkus:dev\n```\n\nIn this case it will hot-reinitialize on the next REST call.\n\nIt will offer a number of REST services at localhost:8080.\n\nThe backend directory also contains a number of *.sh scripts\nthat read or write data via the REST services.\n\nUse `import.sh` to import a small number of data.\n\nThe one thing not covered by Quarkus modules is the integrated\nNEO4J database.\n\nYou can connect to it via localhost:7687.\n\nA simple\n\n```neo4j\n  MATCH (n) RETURN n\n```\n\nshould show the imported data.  \n\n### Frontend\n\nThe frontend is a standard Angular with Angular Material application.\n\nIn development mode, use\n\n```bash\n  \u003e ng serve\n```\n\nto start a small web server at localhost:4200 that serves the frontend.\n\nCurrently URLs for the backend are hardcoded, just starting frontend and\nbackend in development mode should result in a working application.\n\n## Build for release\n\nThere is currently no working code or profile settings for this. It is\nplaned to use the backend also as static web server for the\nfrontend and wire everything via environment variables\nreferenced in the various (not yet existing) production profiles.\n\nThis should allow to copy everything into one docker container with\nthe java backend running as the only process.\n\n## License\n\nApache License 2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fframstag%2Furlstr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fframstag%2Furlstr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fframstag%2Furlstr/lists"}