A web application written in Nim that allows one to create/edit Reminders and sends email and/or xmpp notifications when they are due.
Go to file
itwrx b66c40264f add CHANGELOG, README, and COPYING 2025-05-18 09:56:47 -05:00
assets remove unneeded assets and add two files from dev dir 2025-05-18 08:43:08 -05:00
dev remove unneeded assets and add two files from dev dir 2025-05-18 08:43:08 -05:00
helpers fix #10 and related unreported issues. 2025-05-18 08:18:22 -05:00
models update copyright and clean up comments 2025-05-17 09:02:52 -05:00
post_handlers update copyright and clean up comments 2025-05-17 09:02:52 -05:00
templates fix nim compiler warnings and clearAllReminders() after updating sendDate 2025-05-17 07:10:54 -05:00
CHANGELOG.md add CHANGELOG, README, and COPYING 2025-05-18 09:56:47 -05:00
COPYING add CHANGELOG, README, and COPYING 2025-05-18 09:56:47 -05:00
README.md add CHANGELOG, README, and COPYING 2025-05-18 09:56:47 -05:00
fmn_gs.nim update copyright and clean up comments 2025-05-17 09:02:52 -05:00

README.md

#Forget-Me-Not A single-user-per-instance web application for creating/editing Reminders that can repeat in various ways. Supports email and XMPP notifications. It is written in Nim using the Guildenstern multi-threaded server library and the muti-threaded SQLiteral SQLite API library. #System Package Dependencies curl: send any due Reminders by running the following Curl command from /etc/periodic/15min or similar cron mechanism. -- curl -d "send_reminders_key=your-string-key" -X POST http://127.0.0.1:your-apps-post-port-num/send-reminders -- set your send_reminders_key in /post_handlers/send_reminders_post_handler.nim xmppc: Forget-Me-Not uses this program to send the XMPP messages. If you only ever intend to use email notifications then you don't need it. libsodium: This is used to hash user passwords when creating a Forget-Me-Not user with /dev/create_user.nim. See comments in fmn_gs.nim. sqlite3: for the database. nim: to compile binary. We used nim 2.2.4 at the time of writing this. #Compiling and running -- Install any non std/lib Nim package dependencies imported in the Forget-Me-Not source code with Nimble. -- compile with nim c --cc:clang --mm:atomicArc -d:ssl --d:release fmn_gs.nim. Remove --cc:clang to use gcc instead. -- automate starting with openrc, systemd, or similar. -- use nginx (or similar) as reverse proxy and for serving assets. -- we will try to add some example configs for some of this as time allows, assuming user interest. #Or use ITwrx web hosted instance. -- We will add a Forget-Me-Not project page to ITwrx.org along with hosting plan.