A note application written using React.js and Tailwind.css for the UI and the Spring framework for the server.
- Auth components
- Login components
Loginis the form responsible for collecting login datauseLoginis the hook responsible for fetching login data
- Register components
Registeris the component responsible for collecting register datauseRegisteris the hook responsible for fetching register data
AuthContextis the context storing auth dataAuthOnlytracks auth state and only renders its children if the user is authenticated.useEmailValidationis the hook checking for the existence of an email
- Login components
- Text Block components
- Block Edit
BlockEditis the component responsible for editing a specific blockBlockTypePickeredits the block typeuseBlockEditoris the hook responsible for tracking changes in blocks
- Block view
Blockis the non-editable block view
BlockListdisplays a list of editable and non-editable blocks
- Block Edit
- Note components
- Note Creating
CreateNoteis the note creation UI.useCreateNotefetches the new note route.
- Note Editing
NoteEditorContextholds the edited note dataNoteTitleEditedits the title of the noteuseDeleteNotefetches the note removal routeuseSaveNotefetches the update note route
- Note Viewing
NoteTitledisplays the titleNoteViewdisplays the note title and the list of its blocks
useNotefetches the note data
- Note Creating
- Shared components
- http
useFetchfetches the data on a given route
- Navigation
Navbardisplays a list of linksNavigationWrappersets theNavbarposition on the screenNavItemis the individual link component.SignedInLinksis the list of links for signed-in usersSignedOutLinksis the list of links for unauthenticated users.useLogoutfetches logout data.
- NoteList
NoteItemis a summary of the note dataNoteListis a list ofNoteItems.
FormInputis a simple text form.Homeis the main route component that displays a list of notes for signed-in users.Welcomeis the main route for unauthenticated users
- http
Appis the main router.
- Authentication
JWTFilteris a spring filter for getting JWTs from cookies
- Block
Blockis the block modelBlockTypeis an enum for types of blocks
- Note
Noteis the note model containing a list of blocksNoteControlleris responsible for handling note-related requestsNoteRepositoryis the JPA repo for querying notesNoteServicehandles authentication contexts and queries notesSecureNoteis the note returned to the userUpdateableNoteis a note received by the user.
- User
SecureUsers the user sent to the front inside aSecureNote, not containing the passwordUseris the user entity.UserControllerhandles user-related requests.UserProfileis the user returned to the front when asking for the profile.UserRepositoryqueries user-related queriesUserServicehandles queries and business logic.
SecurityConfigis responsible for the security configurations.