diff --git a/TODO.md b/TODO.md index ea4a912..0b5c0c5 100644 --- a/TODO.md +++ b/TODO.md @@ -1,169 +1,48 @@ # TODO List for Iroon Project -## Critical Features - -- [x] Database Implementation - - - [x] Init mode to create a new db - - [x] Set up SQLite database - - [x] Create proper schemas - - [x] Implement data persistence - - [x] Add database migrations - - [x] Add database caching - +## critical - [ ] HTTPS -- [ ] Storing default login in config file/env variable - [ ] Input Validation -- [ ] Saparate routing logic, and http handlers - [ ] Better error Handling -- [ ] handle every error -- [ ] Migrate to gorm -> simplification of codebase +- [ ] CSRF Protection + +## architecture +- [ ] Saparate routing logic, and http handlers - [ ] Proper session auth ? +- [ ] defining protected, and public routes +- [ ] permission System +- [ ] configurable session expiration +- [ ] Storing default login in config file/env variable +- [ ] rework server to simplify loading templates, and routes +- [ ] make fatcher only return data, and error +- [ ] maybe sending forms as json to simplify code? +- [ ] move basket_element_template to be together with script + +## new features +- [ ] Backup System +- [ ] daily summary page +- [ ] filter out done orders +- [ ] Order Notes/Comments +- [ ] Bulk Order Operations +- [ ] Track Ingredients +- [ ] Print Order Slips +- [ ] Capacity planning +- [ ] Delivery Management +- [ ] Custom decorations + +## cosmetic - [ ] /orders/search htmx trigger `
` - [ ] orders.gohtml remove inline css - [ ] move style for order_fts into a separate css file -- [ ] containerization +- [ ] move new cake/order into cake/order pages +- [ ] new cake header instead of cake 0 +- [ ] form css +- [ ] proper confirmation pages (maybe popus with htmx?) +- [ ] Form validation feedback +- [ ] Prevent enter from submitting the form +- [ ] Mobile interface + +## nice to have - [ ] ci/cd pipeline (github actions) - [ ] monitoring (prometheus, grafana) - [ ] structured logs (JSON format), log formatter -- [ ] maybe a way to define what routes are protected outside the auth middleware, sort of like using the [protected] tag in some full stack solutions -- [ ] configurable session expiration -- [ ] rework server to simplify loading templates, and routes -- [ ] make fatcher only return data, and error -- [ ] move new cake/order into cake/order pages -- [ ] new cake header instead of cake 0 -- [ ] permission System -- [ ] form css -- [ ] polish ui -- [ ] proper confirmation pages (maybe popus with htmx?) -- [ ] filter out done orders -- [ ] daily summary page -- [ ] maybe sending forms as json to simplify code? -- [ ] move basekt_element_template to be together with script -- [ ] can't edit already done routes - - - - [ ] Phone number format validation - - [ ] Required fields validation - - [ ] Date validation (no past dates) - - [ ] Cake amount limits - - [ ] Form validation feedback - - [ ] Prevent enter from submitting the form - -- [ ] Price Management - - [x] Calculate order totals - - [x] Handle partial payments - - [ ] Add payment status tracking - - [ ] Implement payment validation - -## Security - -- [x] Authentication System - - [x] Persistent logins across server restarts - - [x] User login - - [x] User logout - - [ ] Role-based access (admin, staff) - - [x] Password hashing -- [ ] CSRF Protection -- [ ] Input Sanitization -- [x] Session Management - -## UI/UX Improvements - -- [ ] Add CSS Styling - - [ ] Responsive design - - [ ] Dark/Light theme - - [ ] Print-friendly styles -- [ ] Improve Navigation -- [ ] Add Loading States -- [x] Confirmation Dialogs -- [ ] Form Autosave -- [x] Success/Error Notifications - -## Order Management - -- [x] Order Status System -- [ ] Order Search & Filtering - - [ ] By date range - - [ ] By status - - [ ] By customer -- [ ] Order History -- [ ] Order Notes/Comments -- [ ] Bulk Order Operations - -## Inventory Management - -- [ ] Track Ingredients -- [ ] Low Stock Alerts -- [x] Cake Catalog Management - - [x] Add/Edit/Delete cakes - - [x] Cake categories - - [ ] Multiple categories for each cake - - [ ] Cake images -- [x] Seasonal Menu Items - -## Reporting & Analytics - -- [ ] Sales Reports -- [ ] Popular Items -- [ ] Customer Analytics -- [ ] Revenue Reports -- [ ] Export Data (CSV/PDF) - -## Customer Features - -- [ ] Customer Accounts -- [ ] Order History -- [ ] Favorite Items -- [ ] Loyalty Program -- [ ] Reviews & Ratings - -## Communication - -- [ ] Email Notifications - - [ ] Order confirmation - - [ ] Status updates - - [ ] Payment reminders -- [ ] SMS Notifications -- [ ] Print Order Slips - -## Additional Features - -- [ ] Calendar View - - [ ] Daily orders - - [ ] Capacity planning -- [ ] Delivery Management - - [ ] Delivery zones - - [ ] Delivery fees - - [ ] Driver assignments -- [ ] Special Requirements - - [ ] Allergies - - [ ] Custom decorations - - [ ] Special messages -- [ ] Multi-language Support -- [ ] Backup System - -## Technical Improvements - -- [ ] Error Handling - - [ ] Proper error logging - - [ ] User-friendly error messages - - [ ] A better way to handle the error page -- [ ] Performance Optimization -- [ ] API Documentation -- [ ] Unit Tests -- [ ] Integration Tests -- [x] File structure -- [x] Embed templates -- [x] Single init function for handler - -## Future Considerations - -- [ ] Mobile App -- [ ] Online Payment Integration -- [ ] Integration with POS Systems -- [ ] Customer Feedback System -- [ ] Marketing Tools - - [ ] Promotions - - [ ] Discount codes - - [ ] Gift cards