The "Nexus Archive" website, based on Symfony framework.

Krzysztof Andrzej Sikorski Krzysztof Andrzej Sikorski Add list of repository mirrors to README, update twin list on about page 4ee90ca @ 2022-04-28 02:25:16
assets Add CSS styles for the leaderboard page 2022-04-26 00:03:54
bin Add Tailwind CSS to the project, configure it, create build scripts in `bin` 2022-04-25 09:10:45
config Code style: rename `MainMenuService` to `MainMenuGenerator` 2022-04-26 01:19:09
migrations Insert rows for known game periods (up to B5 Stronghold launch) 2022-04-25 21:43:00
public Add CSS styles for the leaderboard page 2022-04-26 00:03:54
src Create "About" page, update main menu 2022-04-26 01:20:35
templates Add list of repository mirrors to README, update twin list on about page 2022-04-28 02:25:16
.editorconfig Code style: update `.editorconfig` file to match PSR-12 2022-03-25 22:40:56
.env Implement parser for Breath 4 leaderboards 2022-04-24 23:05:30
.gitignore Add Tailwind CSS to the project, configure it, create build scripts in `bin` 2022-04-25 09:10:45
CHANGELOG.md Update CHANGELOG for version 1.0.0 2022-04-26 01:23:09
LICENSE.txt Initialise repository 2021-10-21 02:07:41
README.md Add list of repository mirrors to README, update twin list on about page 2022-04-28 02:25:16
composer.json Add Symfony DomCrawler and Symfony CssSelector to dependencies 2022-04-24 23:02:25
composer.lock Add Symfony DomCrawler and Symfony CssSelector to dependencies 2022-04-24 23:02:25
package-lock.json Add Tailwind CSS to the project, configure it, create build scripts in `bin` 2022-04-25 09:10:45
package.json Add Tailwind CSS to the project, configure it, create build scripts in `bin` 2022-04-25 09:10:45
symfony.lock Add Symfony DomCrawler and Symfony CssSelector to dependencies 2022-04-24 23:02:25
tailwind.config.js Add Tailwind CSS to the project, configure it, create build scripts in `bin` 2022-04-25 09:10:45
README.md

Nexus Archive

The Nexus Archive website, based on Symfony framework.

Licence

This project is licensed under European Union Public Licence (EUPL).

For convenience an English text of the licence is included in LICENSE.txt file.

Repositories

Source code is primarily hosted on my private Git server, but for convenience and redundancy it is also mirrored to a few popular code hosting portals:

Installation and deployment

This is a standard Symfony-based web application, requiring only a standard software stack of:

  • an http server (e.g. Nginx)
  • PHP binaries and some standard extensions ( see composer.json file for details)
  • Composer tool (for fetching and installing third-party PHP libraries)
  • a relational database server supporting SQL language (e.g. PostgreSQL)

You can find some generic advice in Symfony documentation, in installation and deployment chapters.

The application was only tested on PostgreSQL, but it should theoretically work on any database engine that is supported by Doctrine library. Check Doctrine documentation for details.

On Linux Mint (and probably also Ubuntu or Debian) you can use following commands to install required system packages:

sudo apt-get install php-cli php-fpm postgresql # basic packages
sudo apt-get install php-xml php-mbstring php-intl php-xml # required or recommended by Symfony
sudo apt-get install php-pgsql # required by application design

Remember to also configure periodic execution of following console commands (e.g. via cron jobs or systemd timers):

  • bin/console app:worker:parser for parsing submitted data
  • bin/console app:worker:prune-database for pruning unwanted rows from db

Development notes

  • some classes are loaded from var\cache directory, so you have to execute bin/console cache:warmup to have them available for IDE autocompletion