Open
Conversation
Develop TaskListView, TaskDetailView, and TaskCreateView with their respective templates and URL patterns. This provides the fundamental structure for viewing and adding tasks to the system. Integrate a JavaScript script to enhance the Task creation process. The script enables dynamic field addition and handles closing the creation window, significantly improving the user experience by making the form more interactive and flexible. These updates address the need for a cohesive task workflow and a user-friendly interface for managing complex task definitions.
Create a custom mixin that checks if a user is already authenticated. If so, it automatically redirects them from the landing page to their personal workspace.
Add email verification logic to the registration process to ensure user authenticity. This includes sending a confirmation link upon sign-up and restricting account activation until the email is verified. Additionally, apply the RedirectAuthenticatedUserMixin to the landing, login, and registration views. This ensures that already authenticated users are redirected to their workspace, providing a consistent and seamless navigation experience across all entry points.
UX: Enabled create/update tasks directly on /work-space (no redirect needed). Logic: If empty — show create form; if not — show latest task with edit mode. Fix: Restricted users from (un)assigning themselves in the assignee list.
HTMX Migration: Refactored home page, create, and update views/templates to use HTMX, significantly reducing JS boilerplate. UX: Implemented reactive in-place updates for tasks. Fix: Added validation to prevent past dates in the deadline field.
Updated the HTMX pagination trigger in the task list chunk to include current search and priority query parameters. Previously, scrolling to the next page would trigger a generic task list request, losing active filters and causing duplicate or incorrect data display. - Replaced hardcoded URL with request.path in pagination trigger. - Appended search and priority parameters to the hx-get request. - Changed hx-swap to outerHTML for cleaner DOM updates.
Users lacked a way to distinguish between active and finished tasks, leading to an unorganized task list. Additionally, there was no restriction on editing tasks that were already marked as complete, which could lead to accidental data modification in historical records. Introduce a "completed" status for tasks with the following changes: - Add a filter on the tasks page to allow users to toggle between all, active, and completed tasks - Implement a visual indicator (mark) for tasks with a completed status - Add the ability to toggle the completion status directly within the task list for better UX - Restrict the update functionality for tasks marked as completed to ensure data integrity
…r logic The application suffered from an infinite loop of API requests for new tasks. This occurred because the pagination trigger element was incorrectly positioned next to the last visible task instead of at the bottom of the container. Furthermore, the trigger element possessed a "d-none" attribute, making it invisible to the DOM observer. Since the element was technically hidden, the logic to "reveal" it was automatically bypassed, causing the scroll observer to fire repeatedly without end. Modify the pagination logic to ensure the trigger element is correctly placed at the end of the task list. Remove the "d-none" class to allow the Intersection Observer to accurately track the element's visibility. Adjust the objects-per-page constant to ensure the list length exceeds the viewport height, preventing premature trigger activation.
The previous landing page used a basic sidebar that lacked proper styling and failed to provide an intuitive user experience. This made it difficult for users to access secondary links and documentation sections, as the navigation felt cluttered and visually inconsistent with the overall brand. Implement a new responsive navbar to improve navigation and visual appeal: - Replace the existing unstyled sidebar with a top-mounted navigation bar - Structure navigation links to provide clear access to landing page categories - Apply modern design principles to ensure a professional first impression - Optimize the layout for both desktop and mobile viewports This change provides a more pleasant and conventional user interface compared to the previous sidebar-based navigation.
The landing application previously consisted of a single empty page, providing no information about the service or a way for new users to interact with the platform. This lack of content and structure hindered user acquisition and failed to demonstrate the value of the IssueOut task management system. Launch a fully designed multi-page experience for non-authenticated users to improve onboarding and brand presence: - Create a high-conversion home page featuring key statistics, core features, and a product roadmap - Develop an "About" page outlining the mission and the "Why IssueOut" value proposition - Build a "Tools" section showcasing powerful features like task control, smart search, and dynamic filters - Implement professionally styled registration and login interfaces with field validation - Establish a consistent visual identity using a cohesive color palette and responsive navbar These updates transform the landing app into a user-friendly entry point that clearly communicates technical advantages to potential teams.
The previous task application interface felt outdated and lacked visual hierarchy, which made it difficult for users to quickly navigate through their workspace. The inconsistent design language between different modules created a fragmented experience, potentially slowing down task management workflows. Redesign all internal application pages to provide a modern, cohesive, and user-friendly interface: - Standardize the visual theme across my tasks and dashboard pages - Improve data readability by implementing a clearer typographic hierarchy and balanced white space - Enhance the task list layout for better focus on priorities and deadlines - Update UI components to ensure a consistent and professional aesthetic throughout the app - Optimize navigation elements to reduce cognitive load and improve accessibility
The application lacked automated verification for core business logic, including task validation rules, admin configurations, and interactive UI elements. This absence of tests increased the risk of introducing breaking changes when updating task filters, search functionality, or user permissions. Introduce unit and integration tests to ensure system reliability and data integrity: - Develop model tests to verify string representations for Task, Position, and Worker models - Implement form tests to enforce deadline validation (preventing past dates) and ensure current users cannot assign tasks to themselves - Create view tests for task search, priority filtering, and HTMX-based completion status toggling - Add admin interface tests to validate search fields, filters, and custom fieldsets for workers - Verify authentication requirements for protected workspace and task creation views This test coverage provides a safety net for future refactoring and ensures that new features do not compromise existing task management workflows.
The previous application interface provided no data visualization for individual productivity, making it difficult for users to analyze their task completion efficiency. There was a clear need for a centralized dashboard to track progress across different priorities and categories to improve time management. Introduce a "My Performance" analytics page with data-driven insights: - Add a high-impact header showing the overall completion rate percentage - Implement summary cards for total assigned tasks, successfully completed tasks, and cleared high-priority items - Create an "Efficiency by Priority" section with progress bars for High, Medium, and Low priority levels - Develop a "Top Task Types" breakdown to visualize workload distribution across categories like BugFix and New Features - Ensure a clean, responsive layout using professional UI components for better data readability This dashboard empowers users with measurable performance metrics and a clear overview of their professional achievements within the platform. Additional: - One minor fix. Now, on home page, count of not completed tasks shows correctly.
While the previous search system was functional, users with a large number of tasks struggled to quickly isolate specific categories of work, such as bugs or features. Additionally, the mixed display of active and finished tasks created visual clutter, making it difficult for users to focus on their current backlog. Enhance the task search and organization system with the following updates: - Introduce a dynamic filter to sort tasks by their specific Type (e.g., Bug, Feature, QA) - Refactor the completion filter to strictly separate active tasks from completed ones in the UI These changes reduce cognitive load and allow users to manage complex backlogs with greater precision.
The application lacked a dedicated interface for users to update their personal information and professional roles. This forced users to rely on administrative intervention for simple profile changes, creating unnecessary friction in the user experience and preventing self-service account management. Introduce a comprehensive settings dashboard with the following capabilities: - Add functional forms to update first name, last name, and email address - Implement a role management section to allow users to change their professional position - Create a visually consistent profile card featuring username, first name, last name and current role - Integrate "Save Changes" and "Cancel" actions with appropriate UI feedback - Ensure the settings interface follows the established design system for a cohesive look and feel This update empowers users to maintain accurate profile data and reflects the platform's commitment to professional identity management.
The current hosting environment does not support outbound SMTP requests, which caused the registration process to fail when attempting to send verification emails. To ensure that new users can still create accounts and access the platform, the email confirmation logic must be disabled. Simplify the registration workflow by removing the verification layer: - Remove email verification logic from the registration views - Update URL configurations to bypass verification-related endpoints - Enable immediate account activation upon successful form submission This change ensures the application remains functional and accessible given the technical constraints of the deployment server.
Also add registration form test
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Site "https://issueout.onrender.com/"
Review account:
guest:guest
Landing.home:
Landing.about:
Landing.tools:
Landing.login:
Landing.SignUp:
Task.home:
Task.CreateTask:
Task.UpdateTask(Completed):
Task.UpdateTask(In progress):
Task.TaskList:
Task.TaskList(Completed):
Task.Performance:
Task.Settings:
Task.Profile: