A web-based application to promote open science and track science publications within Fisheries and Oceans Canada.
For now, we'll use spatie.be's excellent guidelines. Additional guidelines will be added here as we progress.
Before you begin, ensure you have the following prerequisites installed:
- PHP 8.3 (see php.net)
- WSL if you are on Windows
- Redis
- MySQL (to mimic production, though SQLite can be used for development)
-
Install dependencies:
composer install # This will automatically publish Filament assets pnpm install -
Set up environment variables:
cp .env.example .env php artisan key:generate
-
Run database migrations:
php artisan migrate
-
Start the development servers:
composer run dev
This repo has both the front end and backend code. The front end is a SPA that consumes the API backend.
- TypeScript
- Vue.js (TS with Composition API
script setup) - Vue-i18n (app supports en-CA and fr-CA, with vite-plugin-vue-i18n,
globalInjection: true) - Vue-Router (SPA routing)
- Pinia (State management)
- Quasar (Vite Plugin flavour - Vue.js framework component library)
Some helper libraries of note here:
- VueUse (Collection of Vue Composition Utilities)
- unplugin-auto-import
- PHP 8.3
- Laravel (framework)
- Laravel Sanctum (auth)
All changes must be done via a PR to the main branch. PR should be descriptive and provide
reference to any issues as required.
For commits, messages, use Conventional Commits
The commit message should be structured as follows:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
[
'build',
'chore',
'ci',
'docs',
'feat',
'fix',
'perf',
'refactor',
'revert',
'style',
'test',
];composer run testWe use Pest4 for automated browser tests. Browser tests are included in the main test suite and run with the backend tests.
composer run testFor running browser tests specifically:
./vendor/bin/pest tests/Browser/