Go to file
ngoomie f0ab7713cc Finish improving Auth.pm control structure; fix other minor mistakes
both `register_do` and `login_do` in `CharmBoard::Controller::Auth` now
use two try/catch blocks instead of heavily nested if/elsif/else blocks.

I also reverted the change where I removed all of the
`use experimental 'feature-name'` declarations because, while
Mojolicious still whines about experimental features being experimental,
if you don't have `use experimental 'try'` set somewhere, then it just
does not work, unlike smartmatch which will work either way but cause
perl to get mad at you. plus, it feels weird not having those there
anyways!
2023-05-08 04:26:11 -06:00
.vscode Prettify `login_do` action and remove one session per user limit 2023-05-07 22:16:22 -06:00
lib Finish improving Auth.pm control structure; fix other minor mistakes 2023-05-08 04:26:11 -06:00
script Finish improving Auth.pm control structure; fix other minor mistakes 2023-05-08 04:26:11 -06:00
templates Implement login, fix more formatting 2023-05-07 08:50:39 -06:00
.gitignore Set up basic registration (but not login, yet) 2023-05-05 22:24:49 -06:00
INSTALLING.md Some prep for user sign in implementation + formatting changes 2023-05-07 00:04:15 -06:00
LICENSE Initial commit 2023-05-03 02:43:57 +00:00
README.md Some prep for user sign in implementation + formatting changes 2023-05-07 00:04:15 -06:00
charmboard.example.conf Some prep for user sign in implementation + formatting changes 2023-05-07 00:04:15 -06:00
database.sql Finish improving Auth.pm control structure; fix other minor mistakes 2023-05-08 04:26:11 -06:00

README.md

CharmBoard

CharmBoard is forum software written in Perl, inspired by AcmlmBoard/its derivatives, the original Facepunch forums, and Knockout.chat. It's intended to be a more "fun" alternative to the bigger forum software suites available today. Though largely, it's just intended as a sort of pet project of mine for now and a way to learn Perl + Mojolicious, and some other modules I've been wanting to learn.

Requirements

  • Perl5 v5.20.0 or higher
  • Mojolicious (website, metacpan)
    • Mojolicious::Plugin::Renderer::WithoutCache — only needed in dev environment
  • DBI
    • DBIx::Class
    • one of two DBD database drivers — see INSTALLING.md for detailed information
  • Authen::Passphrase::Argon2
  • Math::Random::Secure

Installation

Please see INSTALLING.md