Commit graph

147 commits

Author SHA1 Message Date
5b56eef878
feat: Add date range filtering to mood status view
Enhances `StatusListView` to support filtering based on
a date range by adding 'from' and 'to' query parameters.
This enables users to view status updates within a specified
date range, improving data accessibility.

Implements click event on calendar heatmap to redirect to
filtered mood page, supporting targeted data exploration.
2024-11-28 16:15:56 +01:00
1b494429fb
fix: Enhances heatmap color range handling
Adds black to heatmap color range for undefined mood states.
Removes infinite values from domain except for upper boundary
to simplify handling and improve visual clarity.
2024-11-28 16:05:29 +01:00
6abffe5d25
fix: Fix syntax error in heatmap color range definition
Removes extraneous parenthesis causing syntax error in the
concatenation of color range, ensuring proper display
of heatmap colors.
2024-11-28 16:03:51 +01:00
7875b842df
fix: Removes redundant color from heatmap range
Eliminates the addition of "#000000" in the heatmap color
range, which simplifies the domain mapping process.
This change maintains visual consistency in the heatmap
display and avoids unnecessary color assignment.
2024-11-28 16:03:13 +01:00
45b1815b26
fix: Fix heatmap color scale domain
Corrects the heatmap color scale by adjusting the domain's
initial value to negative infinity. This ensures appropriate
color mapping for all mood values from lowest to highest.
2024-11-28 16:02:24 +01:00
4fb05e6287
fix: Changes heatmap color scale to threshold
Updates heatmap color scale from ordinal to threshold to better
represent the range and distribution of data values.
2024-11-28 16:01:25 +01:00
2decdba78c
fix: Fixes heatmap key conversion issue
Ensures keys returned from moodOptions are correctly
converted to numbers to prevent mismatch errors and
improve accuracy in data processing.
2024-11-28 15:36:44 +01:00
c0fb79ed5c
debug: Adds debug logging for mood mapping
Introduces console logging to debug mood average mapping
to the closest mood option key, aiding in verifying the
calculation and understanding discrepancies.
2024-11-28 15:35:17 +01:00
3e4b68aa19
fix: Fixes date range query issue in heatmap view
Ensures that the end date includes the entire day by setting
the time to 23:59:59 when a specific end date is provided.
This avoids excluding entries from the last day in the range.
2024-11-28 15:35:08 +01:00
36835c9fad
fix: Fix mood calculation key derivation
Updates the logic for finding the nearest mood option key by comparing the numeric key directly to the average value.

This resolves incorrect mood determinations by ensuring that comparisons are based on numeric values, thus preventing potential mismatches in mood calculations.
2024-11-28 15:22:11 +01:00
2c4e02e1af
fix: Refines mood domain handling in heatmap
Converts mood domain keys to numbers for uniform processing.
Removes console logs for cleaner production code.
2024-11-28 15:19:46 +01:00
2f1cdd2de1
debug: Add debugging logs for domain and range arrays
Includes console logs to output the domain and range arrays
during the heatmap data retrieval. This helps in debugging
by providing visibility into the data structure used for
the heatmap color mapping.

Refines date range object to avoid redundancy.
2024-11-28 15:17:40 +01:00
54be38232f
fix: Fixes tooltip data inconsistency in heatmap
Removes unnecessary 'value' key in chart data config
Updates tooltip to correctly display 'Mood Count' using
'extract_data' object for improved accuracy
2024-11-28 15:13:03 +01:00
68009c0865
fix: Removes unused Legend script
Eliminates the inclusion of the Legend.min.js script as it is no longer needed in the mood section. This simplifies the codebase by removing dead code, ensuring that only essential scripts are loaded and potentially improving load performance.
2024-11-28 15:12:53 +01:00
9ad7fe7595
feat: Enhances heatmap with tooltips and new JSON endpoint
Adds additional scripts for tooltips and legends in the heatmap,
enhancing data visualization and usability.

Refactors dashboard logic to dynamically fetch and render mood
data, allowing for more customized color scales and average
mood calculations.

Introduces a new API endpoint to provide mood value details,
necessary for proper heatmap rendering.

Improves the handling of mood data to compute averages for each
day, allowing for richer insights into mood patterns.
2024-11-28 15:01:13 +01:00
dfb68d4814
refactor: Remove search and alerts from topbar
Eliminates the topbar search form and alerts dropdown to streamline
the user interface. This simplifies the topbar by focusing on
essential user information and interactions, improving navigation
efficiency on smaller screens.
2024-11-21 21:17:38 +01:00
5dba14b378
fix: Use static() for script and style paths
Updates script and style paths to use Django's static() function
for better path resolution and management. This ensures that
the paths are correctly resolved relative to the static files
configuration, enhancing maintainability and reliability.
2024-11-21 07:47:17 +01:00
b6987bee69
fix: Refactors static file import path
Updates the import path for the static method to reflect
recent changes in Django's module structure, ensuring
compatibility with newer versions.

This change helps prevent deprecation issues under
up-to-date Django setups.
2024-11-21 07:34:09 +01:00
94c4fb650b
fix: Refactors views to use static for script paths
Changes hardcoded script URL paths to use Django's static function for better resource management and maintainability.

Improves code readability by breaking lines, adopting PEP 8 style guidelines.

Simplifies model imports and uses consistent string formatting for various UI elements.
2024-11-20 21:27:56 +01:00
c0d5e15687
refactor: Standardizes string quotes in settings
Replaces single quotes with double quotes in the settings
file for consistency and clarity.

These changes improve code readability and align with
Python's PEP 8 style guide.
2024-11-20 07:43:59 +01:00
725f566d97
feat: Enhances asset management for dashboard sections
Introduces methods to manage styles and scripts in dashboard
sections, promoting modularity and reusability.

Updates templates to dynamically render styles and scripts
directly from context, ensuring better integration with
existing features system.

Migrates related static assets to 'mood' section to streamline
the module structure.

These changes enable smoother customization and extendability
of the dashboard's look and feel.

Relates to improved frontend architecture.
2024-11-20 07:41:50 +01:00
bc8da6b1cc
fix: Refactors data aggregation for heatmap
Replaces count annotation with custom aggregation logic to
correctly count status entries per date in heatmap data.

Improves data processing by calculating occurrences manually.
Removes previous annotation and modifies output format.

This ensures data accuracy before encoding into JSON response.
2024-11-20 07:18:40 +01:00
7f79a79a17
feat: Enhances navigation with collapsible menus
Introduces NavCollapse to manage grouped navigation items.
Simplifies 'features.py' by organizing items under collapsible sections.
Updates HTML generation for both NavItem and NavCollapse classes.

Improves user experience by improving sidebar organization.
2024-11-19 06:56:52 +01:00
ca2f3eda3a
fix: Enhances date handling for weekly summaries
Sets the end date to the current day's end time for weekly
calculations, ensuring accuracy when calculating weekly
averages and most common activities.

Improves code readability by reformatting long conditionals
and query filter conditions for better clarity.
2024-11-18 18:47:27 +01:00
5c7586bb9a
feat: Modularizes dashboard structure
Introduces DashboardSection class to encapsulate dashboard logic,
enabling easier extension and customization. Adds separate mood
and dreams dashboard templates to streamline content rendering.

Refactors main dashboard template to dynamically render content
from enabled modules using a new template tag system, improving
flexibility and maintainability.
2024-11-18 10:49:04 +01:00
3c3cfc38ba
fix: Enhances activity visibility control
Replaces conditional rendering with inline style for hidden
activities. This simplifies the template logic and maintains
consistent structure for all activities, enhancing UI flexibility.
2024-11-18 08:35:29 +01:00
d522f23b55
fix: Adds 'hidden' field to ActivityEditView form
Enables editing of the 'hidden' attribute in activity forms,
supporting the management of activity visibility in the UI.
2024-11-18 06:55:01 +01:00
a6025dee31
fix: Switches DecimalFields to FloatFields in GPSPoint
Converts battery, accuracy, speed, and bearing fields from
DecimalField to FloatField in GPSPoint model for improved
performance and simplified operations. Updates migration to
reflect these changes, ensuring consistency across the database.
2024-11-18 06:42:36 +01:00
4de1c966d6
feat(migration): Add hidden field to Activity model
Introduces a boolean field 'hidden' to the Activity model to
allow activities to be marked as hidden. This can be utilized
for filtering visible activities without deleting them from
the database.
2024-11-18 06:35:54 +01:00
cfc8f6eefc
feat: Add 'hidden' field to Activity model and update templates
Introduces a 'hidden' BooleanField to the Activity model to manage
visibility of activities. Updates activity_edit and status_edit
templates to support toggling this option.

Improves clarity and maintainability by formatting HTML with better
indentation and structuring. Excludes hidden activities from being
displayed in status_edit.

Enhances user interface for selective display and editing of activities.
2024-11-18 06:35:16 +01:00
8ffdeddf4a
fix: Refines data transformation in heatmap view
Simplifies data processing by removing unnecessary value extraction.
Prepares for future enhancement to return color as value with count as tooltip.
2024-11-17 20:05:40 +01:00
841c5e08de fix: Update footer and reorder enabled modules
Revises footer content to include a new company name and links to
the source code repository, enhancing transparency and resource
accessibility.

Reorders the ENABLED_MODULES list to ensure correct load order.
2024-11-17 16:56:25 +01:00
dcb0f66478 feat: Refines HTML structure in dashboard template
Improves readability by adjusting whitespace and formatting.
Enhances visual consistency in card components by updating
CSS classes and HTML structure for better alignment and spacing.
2024-11-17 16:40:14 +01:00
25e78d424e chore: Update .gitignore to exclude static files
Adds /static/ directory to .gitignore to prevent accidentally
committing generated static assets. Helps maintain a clean
repository by excluding unnecessary files.
2024-11-17 16:40:04 +01:00
b6e7acc564 fix: Add TelegramWebhookView skeleton for POST handling
Introduces a new view class to manage Telegram webhook POST requests.
Lays the groundwork for processing incoming messages with a basic
placeholder returning HTTP 200 status. Future logic implementation
is pending.
2024-11-17 16:01:19 +01:00
ff70221553 refactor: clean up unused imports and improve code quality
Removed unnecessary imports across various modules to streamline the application's dependencies and improve loading times. Specific changes include the removal of unused Django model and admin imports in several apps, simplifying view imports by eliminating unutilized components, and cleaning up static CSS for better maintainability. Corrections were made to conditional expressions for clearer logic. The removal of the django.test.TestCase import in test files reflects a shift towards a different testing strategy or the current lack of tests. Exception handling has been made more explicit to avoid catching unintended exceptions, paving the way for more robust error handling and logging in the future. Additionally, a new CSS file was added for frontend enhancements, indicating ongoing UI/UX improvements.

These changes collectively aim to make the codebase more maintainable and efficient, reducing clutter and focusing on used functionalities. It's a step towards optimizing the application's performance and ensuring a clean, manageable codebase for future development.
2024-06-02 20:27:02 +02:00
9fbfe583be feat: Enhance data security and introduce heatmap UI
Reinforced user data access rules to bolster security and reorganized distribution files into separate directories for cleaner structure. Added a new heatmap visualization for mood statistics on the dashboard, making user engagements more interactive and insightful. Implemented a JSON view to support the heatmap feature, fetching mood entries within a specified time range.

This change responds to the need for improved data security and a more engaging user interface, directly addressing user feedback for clearer insights into their mood patterns over time.
2024-05-17 15:03:20 +02:00
3e45ca5c2d feat: add dev dependencies for code formatting
Introduced black and ruff into the development requirements to standardize code formatting and linting processes. This enhancement aims to maintain consistent coding styles and improve code quality, facilitating smoother collaboration among developers.
2024-05-17 13:49:29 +02:00
c1f05fb1bb feat: Added cal-heatmap dependency 2024-05-17 13:36:59 +02:00
5d10e28d69 feat(migrations): Initialize database schema for messaging
This commit introduces the initial set of database migrations required for setting up the foundational models of the messaging system within the application. These models include `GatewayUser`, `GatewayUserSetting`, `Notification`, and various scheduling entities to manage notification delivery timings. It lays the groundwork for linking users to their gateway preferences, storing customizable settings per gateway-user pair, and managing notifications with flexible scheduling options. This schema setup is crucial for supporting a dynamic and configurable messaging system, enabling efficient notification management and dispatching based on user preferences and predefined schedules.

By establishing a robust database schema upfront, we ensure that the application can scale effectively, facilitating ease of maintenance and future enhancements. This migration caters to the need for a cohesive and flexible data model to represent users, their notification preferences, and the logistics of notification dispatching and scheduling within the system.
2024-05-17 13:30:34 +02:00
f7baae834a feat(license): update copyright term and contact email
Extended the copyright term to 2024 and updated the contact email to reflect the current address. This change ensures that the licensing information remains accurate and up-to-date, supporting proper legal attribution and communication avenues for software use and distribution.
2024-05-17 13:29:47 +02:00
53429b9ded feat(dreams): Initialize database models for dream tracking
This commit establishes the initial set of models required for the dream tracking feature within the application, including models for Dream, DreamMedia, Theme, DreamTheme, and ThemeRating, along with their associations. The structure allows for comprehensive tracking and categorization of user dreams, media associated with dreams, thematic elements, and ratings for these themes. This foundational work is critical for enabling detailed dream recording and analysis, supporting functionalities such as dream categorization, mood association, and user-specific customization.

The relationships between models facilitate advanced queries for insights and trends in dream content, mood correlations, and thematic popularity. The choice of fields and types ensures a balance between flexibility for future enhancements and the current performance requirements.
2024-05-17 13:28:29 +02:00
6521204608 feat: Add initial migrations for GPS and Mood modules
Introduced initial database migrations for GPS logging and Mood tracking functionality, setting the foundation for data model structures in these modules. The migrations define essential entities such as GPSTrack, GPSToken, GPSPoint for the GPS logging module, and Mood, Activity, Aspect among others for the Mood tracking module. This pivotal change enables storing and managing user-generated GPS and mood data efficiently, paving the way for the implementation of core features related to GPS tracking and mood analysis. By removing 'migrations/' from .gitignore, we ensure future migrations are tracked and version-controlled, facilitating smoother database schema updates and deployments.
2024-05-17 13:27:49 +02:00
710fd7df01 feat(vscode): add Django debug configuration
Added a new `launch.json` configuration for VSCode to enable debugging Django applications directly within the IDE. This setup specifically configures the Python Debugger (`debugpy`) for Django with custom server port `8091`, enhancing the development workflow by allowing developers to debug their Django applications without the need for external tools. The configuration is tailored to provide a smoother integration of debugging capabilities, focusing on improving productivity and efficiency during the development process.

This change reflects a broader effort to streamline the development environment, ensuring that team members can quickly and effectively troubleshoot issues, test new features, and iterate on their Django applications within a familiar and integrated development environment.
2024-05-17 13:19:22 +02:00
9051af6335 fix: pin django-polymorphic to v4.0.0a
Updated the django-polymorphic package to a specific alpha version (v4.0.0a) directly from its Git repository. This change ensures compatibility with ongoing project requirements and addresses potential issues with the previously used version. It is important to monitor the stability and updates of this alpha version closely in the project's development environment.
2024-05-17 13:17:57 +02:00
458651c3cb feat: update django-multiselectfield repo URL
Migrated the django-multiselectfield dependency source to a new
repository URL to align with our updated internal hosting strategy. This
change ensures that our dependency management is consistent with current
guidelines and utilizes our private repository infrastructure for better
control and security.
2024-03-24 16:49:57 +01:00
acc8cf5208 fix: update legend label in moodpies chart
Updated the property for setting the chart legend's label from `legend`
to `legend_label` in the `moodpies` function to align with the latest
library syntax. This change ensures compatibility with newer versions of
the visualization library, preventing potential issues with legend
rendering in mood statistics charts.
2024-03-24 16:29:27 +01:00
8032375bb5 refactor(mood/stats): streamline and optimize visualizations
This commit streamlines mood and activity visualization code in
mood/statistics.py for better readability and maintainability. By
consolidating similar code blocks, replacing ' extension calls with
consistent double quotes, and reformatting large data structures for
clarity, we ensure the code is more Pythonic and easier to follow.
Additionally, the alterations in how pie charts and mood statistics are
generated not only maintain functionality but also reduce cognitive load
when navigating the codebase. These changes pave the way for future
enhancements and debugging efforts by making the codebase more
approachable.
2024-03-24 16:28:10 +01:00
37035aad01 refactor(statistics.py): standardize chart height param
Standardized the parameter name for setting chart height across all
chart creation functions in statistics.py. Replaced `plot_height` with
`height` to align with the latest visualization library conventions.
This change enhances code consistency and adheres to the updated library
API, ensuring future compatibility and easier maintenance.
2024-03-24 16:23:48 +01:00
a64a404551 feat: streamline topbar notifications
Simplified the alert system in the topbar by removing outdated
notifications and placeholder content for messages. Introduced a generic
alert placeholder to hint at potential future alert implementations.
This change aims to declutter the UI and enhance user experience by
focusing on relevant and streamlined information. Additionally, the
removal of the message center underscores a shift towards simplifying
user interactions within the platform.
2024-03-24 16:15:54 +01:00