CMS website for the Berlin Skylarks Baseball & Softball Club
https://www.tib-baseball.de/
- PHP 70.6%
- HTML 13.6%
- Vue 7.8%
- CSS 3.9%
- Shell 2%
- Other 2%
|
|
||
|---|---|---|
| .ddev | ||
| .github_bck/workflows | ||
| config | ||
| craft | ||
| docs | ||
| packages | ||
| patches | ||
| public | ||
| tests | ||
| .editorconfig | ||
| .env.dist | ||
| .env.production.dist | ||
| .env.staging.dist | ||
| .gitattributes | ||
| .gitignore | ||
| .phpactor.json | ||
| build_backend.sh | ||
| build_frontend.prod.sh | ||
| composer.json | ||
| composer.lock | ||
| composer.patches.json | ||
| deploy_production.sh | ||
| deploy_staging.sh | ||
| env.d.ts | ||
| fractor.php | ||
| generate-api-docs.sh | ||
| index.html | ||
| LICENSE.md | ||
| mago.toml | ||
| openapi.yaml | ||
| package.json | ||
| patches.lock.json | ||
| phpstan.neon | ||
| phpunit.xml | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| rector.php | ||
| tsconfig.app.json | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
skylarks-cms
CMS website of the Baseball/Softball department of TiB 1848 e.V.
Local Development
To obtain an executable project:
Backend
git clone- DDEV setup (install, configuration is provided in repository)
composer install- Insert
.envfile:
cp .env.dist .env
- fill out env vars for server and database access
- pull data:
ddev pull-live all # or: database | files
Frontend
- based on Bootstrap provided by the Bootstrap Package
- Bootstrap is compiled from original Sass source with custom variables
- all project-specific styles use plain CSS
- Bootstrap JS files are included via TypoScript (unchanged)
- all other assets are included with a custom Vite setup with the extension
Vite Asset Collector - during development Vite dev server is used, in production the output is compiled to the
_assetsfolder
Gamecenter section
- the gamecenter section is a self-contained PWA in Vue.js that is injected via Extbase controller action.
- it provides a separate entrypoint JS file for use with Vite setup
- data is fetched via Ajax requests to PSR-15 middleware with dedicated endpoints
The website can then be reached at https://skylarks-cms.ddev.site/.
REST API
- this website serves as one of several backends for the Skylarks mobile apps
- a REST API custom-built as PSR-15 middleware serves GET endpoints for the following:
- players
- training times
- game reports
- => data not covered by BSM
- API documentation is available in OpenAPI format
Deployment
- at the moment there is no dedicated CI/CD as self-hosted Forgejo also requires a self-hosted action runner
- deployment is therefore a simple rsync script that uses composer und PNPM build steps
- script uses dedicated deployment .env files to read target information
Manual Steps
- depending on the changes, a database update or clearing the CMS cache might be necessary
- TODO: automate
Environments
Production and Staging are hosted on a non-root server where the club does not have access to the Apache configuration.
For quirks see docs/Server.md.
Development
https://skylarks-cms.ddev.site/
Staging
https://dev.tib-baseball.de/ (not continuously available)
Production
=> Caution: https://tib-baseball.de/ redirects to www. variant
Further documentation
Please consult the folder docs for detailed technical specification and project history.