- Implement all backend routes
- Finalise frontend theme
- Create frontend database abstractions
- Implement website assets from zip
- Add objects for API return values, use functions in a factory pattern. - Have a function for common codes, with a generic one which accepts a number
- Implement objects for query/JSON params, allow for defaults / optionals
- Change to UUID for keying
- Implement tailwind css
- Use a CSS framework for material design (tailwind)
- Use useContext & an AuthContext component for authentication state management
- Make posts a separate page
- add 20006203 prefix to all parts of the site
- Order entities by creation date
- Abstract backend IO operations (reading files, json decoding / encoding)
- Add JSON stuff to map
- File IO does not need abstraction
- Unify codebase (default export, naming)
- Add placeholder divs for async tasks
- .editorconfig
- Implement database integration in backend
- Make loglevel a proper enum (static final instances)
- Upgrade tailwind to v3
- Make home page stay above of footer
- Add interface to frontend logger
- Make home page stay above of footer
- Create insert SQL scripts
- Change frontend inline buttons to blue
- Handle backend errors in frontend components
- Perm checks for restricted pages on frontend
- Add more data to navbar profile image
- Unify shadows
- Fix comments / posts not being updated in UI when they are changed
- Colour icons
- Improve backend response api
- Abstract backend DB calls
- Controller Repository Database
- Cache param sources in backend for perf
- Reactive cache implementation
- Cache for posts
- Show component 'showing date' wrong colour in light theme
- Context menu component
- Click away to hide
- Individual post page deletion not working
- Loading spinner on submit buttons
- Use SubmitButton for all submit buttons
- Change CORS policy in backend
- Add docs to backend
- Add docs to frontend
- Animate all moving elements
- Use useCallback for callback functions
- Changeable avatars
- Input validation for edits
- Deleted comments do not update frontend cache when accounts are switched
- Cache mismatch?
- Cache images by md5 (or similar) => b64
- Investigate cache control headers for this
- Handle token invalidation
- Check API (base endpoint) online when we launch
- Individual post page editing support
- Use RETURNING in INSERTS for Repositories
- Login
- Logout
- Post page
- Comment list
- Post list page
- Comment remove
- Comment add
- User promotion
- User demotion
- Footer
- 404 Page
- Editing of comments
- Deletion of posts
- Editing of post
- Moderation log
- CAPTCHA integration
- Ratelimiting
- 2FA
- Intelligent autoloader for namespaces
- php -S localhost:8000 api.php (local php server with hot reload)
- https://dbdiagram.io/d/617c73c7fa17df5ea6759df1
- https://heroicons.dev/