{"id":18893124,"url":"https://github.com/rst0git/legalruleml-app","last_synced_at":"2025-04-14T23:31:50.109Z","repository":{"id":23760791,"uuid":"96674001","full_name":"rst0git/LegalRuleML-app","owner":"rst0git","description":"Simple web application for storing and searchnig through LegalRuleML encoded documents","archived":false,"fork":false,"pushed_at":"2023-07-11T00:44:48.000Z","size":2410,"stargazers_count":4,"open_issues_count":1,"forks_count":1,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-04-14T15:09:29.103Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rst0git.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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":"2017-07-09T09:26:22.000Z","updated_at":"2022-11-18T10:59:44.000Z","dependencies_parsed_at":"2024-11-08T08:07:31.306Z","dependency_job_id":"3e0f93f4-3888-4eb7-9ce9-dcd051e34dfb","html_url":"https://github.com/rst0git/LegalRuleML-app","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/rst0git%2FLegalRuleML-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rst0git%2FLegalRuleML-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rst0git%2FLegalRuleML-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rst0git%2FLegalRuleML-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rst0git","download_url":"https://codeload.github.com/rst0git/LegalRuleML-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248978828,"owners_count":21192856,"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-08T08:07:28.178Z","updated_at":"2025-04-14T23:31:49.739Z","avatar_url":"https://github.com/rst0git.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LRML Search\n\n## Overview\n\nLRML Search is a web application for storing, viewing and searching LegalRuleML documents, developed as part of the LegalRuleMLParl project. Under the hood, it is a PHP 7.0 Laravel web app which uses BaseX for XML storage and querying, and PostgreSQL for all other data storage.\n\n## Authorship and copyright\n\nLRML Search was written by [Radostin Stoyanov](https://github.com/rst0git) and [Andrea Faulds](https://github.com/hikari-no-yume). Copyright © 2017 University of Aberdeen.\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n\n## User's guide\n\nDocumentation in Markdown format [can be found in `src/resources/help/usersguide.md`](src/resources/help/usersguide.md), and also within the app itself.\n\n## Maintenance notes\n\nThis is a Laravel application. Therefore, its best practice should be adhered to in maintenance, e.g. database changes should have their own migrations.\n\nIf you are modifying `LRMLToHTMLConverter`, bear in mind that in production, it is only run once for each document at the point of upload, and then the HTML version is cached in the PostgreSQL database. Therefore, changes made to the converter will only affect existing documents if they are reuploaded. By contrast, in debug mode it is run every time a document is viewed, allowing for rapid iteration.\n\n## Getting started\n\nInstall [Docker](https://docs.docker.com/engine/installation/) and [docker-compose](https://docs.docker.com/compose/install/)\n\n\n```sh\ndocker-compose up -d\ndocker-compose run web bash -c 'php artisan migrate \u0026\u0026 php artisan db:seed --class=UsersTableSeeder'\n```\n\n#### User account\n\nBy default (see `src/database/seeds/UsersTableSeeder.php`), a user account with the email address `user@localhost` and the password `lrmlsearch` is created. With this account, you can log in and upload or delete documents, as well as create other user accounts.\n\nFor security reasons it is not a good idea to keep this initial account around; delete it or change its password. (Unfortunately, neither can be done directly through the interface right now.)\n\n## File structure\n\nSpecial\n- `src/app/LRMLToHTMLConverter.php` LegalRuleML to HTML converter\n\nRoutes\n- `src/routes/web.php` This file contains the routes of the application\n\nViews\n- `src/resources/views/index.blade.php` Home Page\n- `src/resources/views/dashboard.blade.php` This view appears after user has logged in successfully.\n- `src/resources/views/search.blade.php` This view is used for the search functionality.\n\n- `src/resources/views/documents/index.blade.php` Show a list of all documents.\n- `src/resources/views/documents/show.blade.php` Show a HTML content of a document.\n- `src/resources/views/documents/upload.blade.php` Upload new document.\n\n- `src/resources/views/layouts/app.blade.php` The layout file - contains the code which appears on every page\n\n- `src/resources/views/inc/navbar.blade.php` Navigation bar\n- `src/resources/views/inc/messages.blade.php` Success/Error messages shown on the top of a page\n\n- `src/resources/views/auth/login.blade.php` Login page\n- `src/resources/views/auth/register.blade.php` Registration page\n- `src/resources/views/auth/passwords/email.blade.php` Request reset password\n- `src/resources/views/auth/passwords/email.blade.php` Confirm reset password\n\nControllers\n- `src/app/Http/Controllers/Auth/ForgotPasswordController.php` This controller is responsible for handling password reset emails.\n- `src/app/Http/Controllers/Auth/LoginController.php` This controller handles authenticating users.\n- `src/app/Http/Controllers/Auth/RegisterController.php` This controller handles the registration of new users.\n- `src/app/Http/Controllers/Auth/ResetPasswordController.php` This controller is responsible for handling password reset requests.\n- `src/app/Http/Controllers/BaseXController.php` This controller is responsible for the interaction with BaseX.\n- `src/app/Http/Controllers/DashboardController.php` Controller for the Dashboard shown after successful user login.\n- `src/app/Http/Controllers/DocumentsController.php` This controller is responsible Upload/Delete/Show/Download of documents.\n- `src/app/Http/Controllers/PagesController.php` This controller handles requests to the Home Page.\n- `src/app/Http/Controllers/SearchController.php` This controller handles search requests.\n\nModels\n- `src/app/Document.php` Store Title, File name and HTML version of documents.\n- `src/app/User.php` Store user credentials used for authentication.\n\nAssets\n- `src/public/css/app.css` Compiled CSS which includes JQuery and Bootstrap.\n- `src/public/css/custom.css` Custom CSS rules. They overwrite `app.css`.\n- `src/public/css/lrml.css` Style for LegalRuleML elements\n- `src/public/js/app.js` Compacted JavaScript which includes JQuery and Bootstrap.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frst0git%2Flegalruleml-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frst0git%2Flegalruleml-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frst0git%2Flegalruleml-app/lists"}