a mini social media app for small communities
1# todo 2 3> i use `:` to denote categories 4 5## in-progress 6 7- [x] post:search for posts 8 - [ ] filters: 9 ``` 10 created-at:<date> 11 created-after:<date> 12 created-before:<date> 13 is:pinned 14 has-tag:<tag> 15 posted-by:<user> 16 !excluded-query 17 ``` 18- [x] user:search for users 19 - [ ] filters: 20 ``` 21 created-at:<date> 22 created-after:<date> 23 created-before:<date> 24 is:admin 25 ``` 26 27## planing 28 29> p.s. when initially writing "planing," i made a typo. it should be "planning." 30> however, i will not be fixing it, because it is funny. 31 32- [ ] post:add more embedded link handling! (discord, github, gitlab, codeberg, etc) 33- [ ] user:follow other users (send notifications on new posts) 34- [ ] site:webhooks 35 - could be used so that a github webhook can send a message when a new commit is pushed to beep! 36- [ ] site:log new accounts, account deletions, etc etc in an admin-accessible site log 37 - this should be set up to only log things when an admin enables it in the site config, so as to only log when necessary 38- [ ] site:implement a database keep-alive system 39 - i may also just need to change a setting in the database server to keep it alive, i am not sure yet. 40- [ ] site:overhaul security 41 - i am not a database security specialist, and some of the methods below may be bad. 42 before approaching which security features i want implemented, i will be consulting some other people to be sure of which ones need to be and do not need to be implemented. 43 - [ ] row level security? 44 - [ ] roles/user groups? 45 - [ ] whitelist maps where possible? 46 - [ ] database firewall? 47 48## ideas 49 50- [ ] user:per-user post pins 51 - could be used as an alternative for a bio to include more information perhaps 52- [ ] site:rss feed? 53 54## done 55 56- [x] user:nicknames 57- [x] user:bio/about me 58- [x] user:listed pronouns 59- [x] user:notifications 60- [x] user:deletion 61- [x] user:change password 62- [x] user:change username 63- [x] post:likes/dislikes 64- [x] post:mentioning ('tagging') other users in posts 65 - [x] post:mentioning:who mentioned you (send notifications when a user mentions you) 66- [x] post:editing 67- [x] post:replies 68- [x] post:tags ('hashtags') 69- [x] post:embedded links (links added to a post will be embedded into the post 70as images, music links, etc) 71 - should have special handling for spotify, apple music, youtube, 72 discord, and other common links. we want those ones to look fancy! 73- [x] post:saving (add the post to a list of saved posts that a user can view later) 74- [x] site:message of the day (admins can add a welcome message displayed on index.html) 75- [x] misc:replace `SELECT *` with `SELECT <column>` 76 77## graveyard 78 79- [ ] ~~post:images (should have a config.maple toggle to enable/disable)~~ 80 - replaced with post:embedded links 81- [ ] ~~site:stylesheet (and a toggle for html-only mode)~~ 82 - replaced with per-user optional stylesheets