We are developing our own information system as part of the P11 laboratory. A specialist laser database is to be created for the “Restoration” department. This will be a contact point for restorers who want to find out about cleaning with a laser device. Among other things, information on the laser device, the material to be treated, the project and the location will be collected. In the first steps, we developed a data model and then tried to integrate existing information. Now the whole thing is to be implemented with code.
- Overview lists:
- Devices
- Institutions
- Materials
- Persons
- Processes
- Projects
- User-friendly input forms:
- Add new materials
- Add new institutions
- Add new devices
- Add new processes
- Add new projects
- Filterable institutions list: View all institutions on a single page and filter by type (clients, contractors, manufacturers).
- Admin Tools: Create new Accounts via UI or enter
php artisan newuser <name> <email> <password>
in server terminal for easy user creation. - Simple Search: The simple search function in the main menu allows you to quickly search for device names, institution names, ...
- Advanced Search: The advanced search allows you to search the database for specific attributes. Currently, device and institution names as well as the features year and cooling can be searched.
- Responsive UI: Adapats to light and dark color scheme and supports various viewport sizes.
- Image Upload: You can upload images for your project.
- Welcome (Homepage): /
- About LADIS: /about
- Advanced Search: /adv-search
- Search Result: /adv-search/result
- Institutions: /institutions/all
- Devices: /devices/all
- Persons: /persons/all
- Materials: /materials/all
- Projects: /projects/all
- Venues: /venues/all
- Processes: /processes/all
- Contact Us: /contact
- Database Statistics: /statistics
- Legal (Rechtliches / Impressum): /impressum
- Log-In Mask: /login
- Account Overview: /login/home
- Data Input Form (Eingabemaske): /login/inputform
- New Artifact Entry [dynamic page]
- New Device Entry [dynamic page]
- New Institution Entry [dynamic page]
- New Process Entry [dynamic page]
- New Project Entry [dynamic page]
- Report Review: /login/review
- Data Input Form (Eingabemaske): /login/inputform
- Account Overview: /login/home
- Privacy Policy (Datenschutzerklärung): /datenschutz
- Terms of Use (Nutzungsbedingungen): /terms-of-use
- User Help: /help
- Registered User Help [dynamic page]
- Unregistered User Help [dynamic page]
- PHP: 8.2 or higher
Follow these steps to set up the development environment:
- Clone the repository.
- Run
composer install
to install PHP dependencies. - Run
npm install
to install JavaScript dependencies. - Copy
.env.example
to.env
and configure your environment variables. - Run
php artisan key:generate
to generate the application key. - Run
php artisan migrate
to set up the database. - Run
composer run-script dev
to start the development server. - Access the application at http://localhost:8000.
- Logs rotate daily. Adjust
LOG_DAILY_DAYS
in your.env
file to change retention.
Tip
See Development Environment Setup for detailed instructions.
php artisan make:migration create_TABLENAME_table
to add a new migration for adding a new table.php artisan migrate:status
to show which migrations have run thus far.php artisan migrate --pretend
to see the SQL statements that will be executed by the migrations without actually running them.php artisan migrate
to run database migrations.php artisan migrate:rollback
to roll back the last migration.php artisan migrate:reset
to reset all migrations.php artisan migrate:fresh
to reset all migrations and newly execute all migrations.php artisan migrate:fresh --seed
to create a fresh database and seed it with the data from the seeders.
Tip
Detailed information about migrations and adding new models can be found in the Wiki.
php artisan serve
to start test server for manual testingphp artisan test
to execute the test suite.
In addition to local testing, our test suite runs automatically via GitHub Actions on every push and pull request. All supported PHP versions (8.2, 8.3, and 8.4) are tested to ensure compatibility across the entire supported range. This automated testing is separate from the manual testing commands above and requires no action from developers.
This web application will be deployed automatically to the production server in the VPN of University of Applied Sciences Potsdam using GitHub Actions. We will inform you about the public release later.
federal_states
cities
artifacts
images
institutions
lenses
locations
devices
materials
venues
conditions
damage_patterns
Seeders are used to populate the database with initial or sample data. To run all seeders, execute:
php artisan db:seed
# or
php artisan migrate:fresh --seed
See Commands for database handling for more information.
DamagePatternSeeder
DeviceSeeder
InstitutionSeeder
MaterialSeeder
ProcessSeeder
UserSeeder
Factories automatically generate sample data for models to simplify testing and development. All models in this project have a factory.
This project is licensed under the GPLv3 License - see the LICENSE file for details.