diff --git a/README.md b/README.md index 958c7ea..b14aeab 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,192 @@ -# :zzz: template +# project-ln + +## Description: + +For writers: +- A tool for your works to be written and/or published! + +For readers: +- See an awesome stories from our writers! ## Stack -- ChakraUI - React - TanStackRouter +- ChakraUI +- ?styled-components +- apoollo gql - Express -- Prisma - MariaDB (todo) -- GraphQL +- Prisma + MariaDB - Vite -`npx @chakra-ui/cli snippet add --outdir app/client/components/ui/` -`npx graphql-code-generator init` +## Structure: -### Useful links: +### sketch - outdated +``` -- Theming for ChakraUI-v3 (no docs) -> [link](https://github.com/chakra-ui/chakra-ui/discussions/9009) +Home --> Read -> |-> Stories(r/o + p/o) -> Feedback(r/o) + | |-> Forums(r/o) + | + |-> Login -> |-> Profile + |-> Write -> List -> Editor + |-> Forums -> |-> Writer -> Threads(w) -> Thread -> Post -> Comments + | |-> Reader -> Threads(r) -> Thread -> Post -> Comments + |-> Messaging + |-> Read(bookmarking) +r/o - read only +p/o - public only -- TanStackRouter -> [link](https://tanstack.com/router/latest) +``` + +``` +Home - / +Log In - /login +Register - /register + +Browse - /browse +Search - /search + +Story - /story/:story_id +Forum - /forum +Thread - /forum/:thread_id +Post - /forum/:thread_id/:post_id + +Profile - /profile/:username +Messages - /messages/:message_id + +--- +Contacts - /contacts +``` + +### sketch +`[a] - authorized` +`[mv] - multiple view` +`(r-w-o) - reader/writer/others` + +``` +|-> Login +|-> Register +|-> Forgot password +|-> Guest +| +v +Home --> Read --> [mv] Stories/Search -> Story --> [mv] Chapters -> Chapter -> Chapter comments -> [a] Comment + | | |-> Author -> Author profile + | | |-> Feedback -> [mv] Story Comments -> [a] Comment + | | + | | + | |-> [mv] Forums -> [mv] Threads -> Thread + | + |-> [a] User profile --> Settings + |-> Messages + |-> Notifications + |-> Storage -> (-s.storage-) + +(-s.storage-) -> [mv] Folders -> Folder --> Story -> editor.Story -> [mv] Chapters -> Chapter -> Publish + |-> World -> editor.Worldbuilding -> [?] -> Publish + |-> Notes -> editor.Notes -> [mv] Notes -> Note -> Publish +``` + +``` + +Home / +--- +Login /login +Register /register +Forgot passwd /forgot +--- +Stories /story +Story /story/:story_id +Chapter /story/:story_id/:chapter_id +Comment /story/:story_id/:chapter_id/:comment_id +--- +Forums /forum +Threads /forum/:forum_id +Thread /forum/:forum_id/:thread_id +Comment /forum/:forum_id/:thread_id/:comment_id +--- +Profile|User /user/:user_id +Settings /settings +--- +Conversations /messages + +Chat /messages/user/:user_id +Chat message /messages/user/:user_id/:message_id + +Group chat /messages/group/:group_id +Group message /messages/group/:group_id/:message_id +--- +Notifications /notifications +--- +Storage /storage +Folder /storage/:folder_id + +Story /storage/:folder_id/story/:story_id +World /storage/:folder_id/world/:world_id + +Notes /storage/:folder_id/notes/:notes_id +Note /storage/:folder_id/notes/:notes_id/:note_id + + +Q: Should we unify the Storage Story/World/Notes with their published +counterparts? +``` + +### sketch - db +``` +Users + + id: Primary key. + username: Unique identifier. + email: User email. + password: Encrypted password. + +Messages + + id: Primary key. + sender_id: Foreign key referencing Users(id). + receiver_id: Foreign key referencing Users(id) (for user-to-user messaging). + group_id: Foreign key referencing Groups(id) (for group messaging, nullable for direct messages). + content: Text or reference to file/attachment. + created_at: Timestamp of message creation. + read_at: Timestamp when the message was read (nullable). + +Groups (Optional) + + id: Primary key. + name: Group name. + created_by: Foreign key referencing Users(id). +``` + +## User Strories (free-form): + +- Users/Writers - what should differentiate them? Writer has a published or a +WIP unpublished work, while reader has only a stories that they read? + + +## User Stories: + +1. [ ] Provide a platform for users to read&write&share their stories +2. [ ] Add a *public* page with service updates (gallery view) +3. [ ] Add a *public* page section for browsing stories/users/threads +4. [ ] Provide an easy navigation +5. [ ] Make a header section +6. [ ] Make a title with redirect to the *home* page +7. [ ] Make a login button with pop-up menu inside the header +8. [ ] Add a login page +9. [ ] Add a registration button in a pop-up menu and on the login page +10. [ ] Add a registration page +11. [ ] Replace login section in the header with the relevant user login+avatar +12. [ ] Make a header *user info* section to open a pop-up menu +13. [ ] Make a log out button in the *user info* pop-up menu +14. [ ] Make a browse section in the header +15. [ ] Add a *browse* page +16. [ ] Add a search section in the header +17. [ ] Make a *search* page + +1. [ ] Make a user's profile page +1. [ ] Make a *user info* section to lead to user's profile page +1. [ ] Make a *user settings* page +1. [ ] Add user settings page link in the header *user info* pop-up +1. [ ]