3.5 KiB
3.5 KiB
Sanasto Wiki TODO List
This document outlines planned improvements, bug fixes, and new features for the Sanasto Wiki application.
High Priority
Bugs
- Search input loses focus on filter change: This issue has been resolved. The search input now retains focus when filters are applied.
- Mismatched
enumsyntax in models: This issue has been resolved by correcting theenumdeclarations inSuggestedMeaning.rbandUser.rbto use the updated Rails 8 syntax. All tests now pass. - [BUG] Mobile browser access is blocked by
:modernbrowser requirement inApplicationController: This issue has been resolved by removing theallow_browser versions: :modernline fromApplicationController.
Improvements
- Replace hardcoded
LANGUAGE_COLUMNSwith dynamic query: TheEntrymodel now dynamically fetches language codes viaSupportedLanguage.valid_codesand caches them, removing the hardcoded array. This task is completed.
Medium Priority
New Features
- Add user authentication: The application currently lacks user authentication, which is a critical security vulnerability. Implementing a robust authentication system will protect sensitive data and ensure only authorized users can make changes.
- Implement user roles and permissions: The
README.mddefines user roles (contributor, reviewer, admin), but the application does not yet enforce these roles. Implementing a permissions system will ensure that users can only perform actions appropriate for their role. - Add create, edit, update, and destroy actions to
EntriesController: TheEntriesControllercurrently lacks the full set of CRUD actions needed for managing entries. - Add views for creating and editing entries: Corresponding views for entry creation and editing are missing.
- Add pages for user profiles, admin dashboard, and suggested meanings queue: Essential UI components for user management and content review are absent.
Discussion
- Add comments to entries: Users can now add comments to entries.
- Submit alternative translations as suggested meanings: This is part of the comments and discussion feature, and the infrastructure for this is in place. Need to verify that the suggested meaning model is used to actually submit alternative translations.
- Participate in translation discussions: The comments section provides the foundation for this. Additional features might be needed for a full discussion.
- Plan for user profile based notification exception: Implement logic to allow users to opt out of notifications for specific language changes or comments on their profile.
Refactoring
- Improve fixture quality: The test fixtures have been refactored to resolve conflicts and foreign key violations, ensuring tests pass reliably. This task is completed.
Low Priority
New Features
- Add a download button for entries: This feature has been implemented in the
EntriesController#downloadaction and is accessible from the UI. This task is completed.
Improvements
- Enhance UI/UX: While functional, the user interface could be improved to be more intuitive and visually appealing. A design review and subsequent enhancements would improve the overall user experience.
- Add tests for controllers and views: The current test suite only covers the models. To ensure the reliability of the application, tests for the controllers and views should also be added.