The "Nexus Archive" website, based on Symfony framework. https://nexus-archive.zerozero.pl/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Krzysztof Andrzej Sikorski cf98bb3c66
Update requirements to PHP 8.2
2 days ago
assets Add CSS styles for the leaderboard page 11 months ago
bin Add Tailwind CSS to the project, configure it, create build scripts in `bin` 11 months ago
config Code style: rename `MainMenuService` to `MainMenuGenerator` 11 months ago
migrations Insert rows for known game periods (up to B5 Stronghold launch) 11 months ago
public Add CSS styles for the leaderboard page 11 months ago
src Fix sorting and encoding bugs in leaderboards export command 10 months ago
templates Update about page with info about contribution, remove submit form from menu 11 months ago
.editorconfig Code style: update `.editorconfig` file to match PSR-12 12 months ago
.env Implement parser for Breath 4 leaderboards 11 months ago
.gitignore Add Tailwind CSS to the project, configure it, create build scripts in `bin` 11 months ago
CHANGELOG.md Update CHANGELOG for version 1.0.0 11 months ago
LICENSE.txt Initialise repository 1 year ago
README.md Add list of repository mirrors to README, update twin list on about page 11 months ago
composer.json Update requirements to PHP 8.2 2 days ago
composer.lock Update requirements to PHP 8.2 2 days ago
package-lock.json Update dependencies (Composer & NPM) 2 days ago
package.json Update dependencies (Composer & NPM) 2 days ago
symfony.lock Add Symfony DomCrawler and Symfony CssSelector to dependencies 11 months ago
tailwind.config.js Add Tailwind CSS to the project, configure it, create build scripts in `bin` 11 months ago

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