2021-12-04 04:58:43 +00:00
|
|
|
# guestbook-ng
|
|
|
|
|
2021-12-04 05:11:37 +00:00
|
|
|
The goal of guestbook-ng is to integrate across vendors and customers
|
|
|
|
with full-service analytics insights by leveraging the latest in Perl
|
|
|
|
Mojolicious blockchain technologies powered by AI.
|
|
|
|
|
2021-12-04 23:36:10 +00:00
|
|
|
## DB Config
|
|
|
|
|
|
|
|
$ cat guestbook-ng.conf
|
|
|
|
{
|
2021-12-12 06:50:07 +00:00
|
|
|
secrets => ['a_secret_here'],
|
|
|
|
'TagHelpers-Pagination' => {
|
|
|
|
separator => ' ',
|
|
|
|
current => '<strong>{current}</strong>'
|
|
|
|
},
|
|
|
|
dev_env => {
|
2021-12-11 23:48:00 +00:00
|
|
|
pg_user => 'guestbooker',
|
|
|
|
pg_pw => 'a_password_here',
|
|
|
|
pg_db => 'guestbook',
|
|
|
|
pg_host => 'localhost'
|
|
|
|
},
|
|
|
|
prod_env => {
|
|
|
|
pg_user => 'guestbooker',
|
|
|
|
pg_pw => 'prod_password_here',
|
|
|
|
pg_db => 'guestbook',
|
|
|
|
pg_host => 'prod.db.com'
|
|
|
|
|
2021-12-12 06:50:07 +00:00
|
|
|
},
|
|
|
|
max_posts => 5
|
2021-12-04 23:36:10 +00:00
|
|
|
}
|
|
|
|
|
2021-12-12 06:50:07 +00:00
|
|
|
`secrets` and the DB credentials are mandatory
|
|
|
|
|
2021-12-04 23:36:10 +00:00
|
|
|
## Testing
|
|
|
|
|
2021-12-12 06:50:07 +00:00
|
|
|
$ prove -l
|
2021-12-04 23:36:10 +00:00
|
|
|
t/basic.t .. ok
|
|
|
|
All tests successful.
|
|
|
|
Files=1, Tests=6, 1 wallclock secs ( 0.04 usr 0.00 sys + 0.58 cusr 0.05 csys = 0.67 CPU)
|
|
|
|
Result: PASS
|
|
|
|
|
|
|
|
Add the `-v` option for more verbose output
|
2021-12-19 22:56:45 +00:00
|
|
|
|
2021-12-31 01:52:34 +00:00
|
|
|
## Docker
|
|
|
|
|
|
|
|
### Build
|
|
|
|
|
|
|
|
docker build -t guestbook-ng .
|
|
|
|
|
2021-12-19 22:56:45 +00:00
|
|
|
## TODOs
|
|
|
|
|
|
|
|
1. Input validation
|
2021-12-25 06:54:43 +00:00
|
|
|
1. Add homepage/URL field and filter URLs out of message body
|
|
|
|
1. Flash error for CAPTCHA failures and what nots
|
2021-12-31 00:34:40 +00:00
|
|
|
1. Replace HTML tables with CSS grids(!!)
|
|
|
|
1. Add column to tag posts as spam or hidden
|