Go to file
ngoomie 07977292fe Prettify `login_do` action and remove one session per user limit
`login_do` now uses a try/catch control structure instead of the
horrifying nested if/else control structure it used before. I'd think a
failed login attempt counts as an exception, so it should be fair to use
it here?

I have also removed the one session per user limit for now. I'm going to
replace it with a manual session manager in user settings later
hopefully, and some sort of periodically run script that deletes any
expired sessions from the DB, plus maybe other places where they get
deleted.

any `use experimental 'name'` instances have been removed too since
Mojolicious complains about your use of experimental features no matter
what anyways!
2023-05-07 22:16:22 -06:00
.vscode Prettify `login_do` action and remove one session per user limit 2023-05-07 22:16:22 -06:00
lib Prettify `login_do` action and remove one session per user limit 2023-05-07 22:16:22 -06:00
script Prettify `login_do` action and remove one session per user limit 2023-05-07 22:16:22 -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 Prettify `login_do` action and remove one session per user limit 2023-05-07 22:16:22 -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