Skip to content

christiancable/nexus5ive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,123 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nexus 5ive

                   ÛÛ
ÛÛÛ   ÛÛ   ÛÛÛÛÛÛÛ   ÛÛ   ÛÛ   ÛÛ   ÛÛ   ÛÛÛÛÛÛÛ
ÛÛÛÛ  ÛÛ°  ÛÛ°°°°°°   ÛÛ ÛÛ°°  ÛÛ°  ÛÛ°  ÛÛ°°°°°°
ÛÛ°ÛÛ ÛÛ°  ÛÛÛÛ        ÛÛÛ°°   ÛÛ°  ÛÛ°  ÛÛÛÛÛÛÛ   5
ÛÛ° ÛÛÛÛ°  ÛÛ°°°      ÛÛ°ÛÛ    ÛÛ°  ÛÛ°   °°°°ÛÛ°
ÛÛ°  ÛÛÛ°  ÛÛÛÛÛÛÛ   ÛÛ°° ÛÛ    ÛÛÛÛÛ°°  ÛÛÛÛÛÛÛ°
 °°   °°°   °°°°°°°   °°   ÛÛ    °°°°°    °°°°°°°
                            °°

Written by Christian Cable.

This is the code that powers the old-school style injoke of a BBS at https://nexus5.org.uk.

The web version of Nexus has run in one form or another since the ultra-futuristic year of 2001. It was inspired by the UCLAN CompSoc BBS of the mid-90s where I happily misspent much of my university days.

This current version is built using the Laravel framework by Taylor Otwell

Build Status

Build Status

Install Steps

  • composer install
  • cp .evn.example .env
  • Edit .env; add your datbase info and sensible values for the NEXUS_*
  • php artisan migrate
  • yarn
  • yarn run production
  • php artisan nexus:install

View the Roadmap

Themes

Nexus supports bootstrap themes.

These can be externally hosted css files (such as the excellent ones at Bootswatch) or built within nexus. Nexus ships with a Default theme and an example 'Excelsior' theme.

To enable the Excelsior theme php artisan nexus:theme add --name=Excelsior --path='/css/excelsior.css'

To add external themes from Bootswatch...

php artisan nexus:theme add --name=darkly  --path='https://bootswatch.com/5/darkly/bootstrap.min.css'
php artisan nexus:theme add --name=slate   --path='https://bootswatch.com/5/slate/bootstrap.min.css'
php artisan nexus:theme add --name=united  --path='https://bootswatch.com/5/united/bootstrap.min.css'
php artisan nexus:theme add --name=solar   --path='https://bootswatch.com/5/solar/bootstrap.min.css'
php artisan nexus:theme add --name=sketchy --path='https://bootswatch.com/5/sketchy/bootstrap.min.css'
php artisan nexus:theme add --name=materia --path='https://bootswatch.com/5/materia/bootstrap.min.css'
php artisan nexus:theme add --name=minty   --path='https://bootswatch.com/5/minty/bootstrap.min.css'

Themes can be removed by

php artisan nexus:theme remove --name=minty

Users who use a removed theme have their theme set to the default.

Development

Nexus uses Laravel Sail for development.

A number of useful tasks are included to aid in development. Prefix the commands below with ./vendon/bin/sail where required.

There are two copies of the docker-composer.yml file here; if you are using podman rather than docker then copy the docker-compose.yml.podman file over docker-composer.yml and update the IP address of your podman mv in the 'host.docker.internal' lines.

Tests

PHP and javascript tests are provided. Coverage is nowhere near complete. Pull requests here are extremely welcome.

  • sail artisan test - unit and some feature tests
  • sail artisan dusk - browser based tests

Static Analysis

Static analysis is provided using the larastan package. To run an analysis of the code run:

sail npm run larastan

Coding Standards

PHP is written to confirm to Laravel's coding standards. To check the status of all the files within app run:

sail pint app

About

This is the code that powers the _old-school style_ BBS at http://nexus5.org.uk

Topics

Resources

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 6