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.
22 lines
1.9 KiB
22 lines
1.9 KiB
# MyJekyllBlog Web Application
|
|
|
|
## Technology
|
|
|
|
This application uses the [Mojolicious Framework](https://docs.mojolicious.org/). [Minion](https://docs.mojolicious.org/Minion)
|
|
is used as a job queue for long-running processes. **MJB::DB**, the database model found in `../DB/` uses the
|
|
[DBIx::Class](https://metacpan.org/pod/DBIx::Class) ORM and can be accessed from this application through `$c->db`.
|
|
|
|
## File & Directory Structure
|
|
|
|
| Name | Purpose |
|
|
| ---------------------- | ---------------------------------------------------------------------------------------------------- |
|
|
| lib/MJB/Web.pm | This is the library where the application startup happens. It's where the magic happens. |
|
|
| lib/MJB/Web/Command | CLI commands that could be run by admins w/ shells -- see commands by running `./script/mjb --help` |
|
|
| lib/mjb/Web/Controller | Contains controllers, all HTTP requests eventually end up here (or just rendering a template) |
|
|
| lib/mjb/Web/Plugin | Plugins can do a lot. Mostly used here for interfacing more stand-alone libraries for use from mojo |
|
|
| lib/mjb/Web/Task | Minion jobs, these are long-running code that can be handled by the builder or certbot servers |
|
|
| mkits | Email templates, see [Email::MIME::Kit](https://metacpan.org/pod/Email::MIME::Kit) for more info |
|
|
| public | Contains static assets that are hosted with the web application |
|
|
| script | Contains scripts |
|
|
| templates | The templates for the webapp. See [Mojo::Template](https://docs.mojolicious.org/Mojo/Template) |
|
|
| cpanfile | [CPAN Dependencies File](https://metacpan.org/dist/Module-CPANfile/view/lib/cpanfile.pod) |
|
|
|