Self-hosted mood tracker - very much work in progress
Find a file
Kumi 661e9cc652
fix: Improves status view layout and readability
Refactors HTML structure for better readability and maintenance.
Introduces conditional checks for title and text presence.
Reorganizes activities and attachments for a cleaner UI.
Enhances card styling consistency throughout the page.
2024-12-17 21:33:15 +01:00
.vscode feat(vscode): add Django debug configuration 2024-05-17 13:19:22 +02:00
api refactor: clean up unused imports and improve code quality 2024-06-02 20:27:02 +02:00
cbt refactor: clean up unused imports and improve code quality 2024-06-02 20:27:02 +02:00
common refactor: clean up unused imports and improve code quality 2024-06-02 20:27:02 +02:00
cronhandler refactor: clean up unused imports and improve code quality 2024-06-02 20:27:02 +02:00
doc Initial commit 2020-12-27 18:49:54 +01:00
dreams fix: Refactors views to use static for script paths 2024-11-20 21:27:56 +01:00
environment refactor: clean up unused imports and improve code quality 2024-06-02 20:27:02 +02:00
friends refactor: clean up unused imports and improve code quality 2024-06-02 20:27:02 +02:00
frontend fix: Updates section header level on dashboard 2024-11-28 17:29:46 +01:00
gpslog fix: Switches DecimalFields to FloatFields in GPSPoint 2024-11-18 06:42:36 +01:00
habits refactor: clean up unused imports and improve code quality 2024-06-02 20:27:02 +02:00
health refactor: clean up unused imports and improve code quality 2024-06-02 20:27:02 +02:00
kumify refactor: Standardizes string quotes in settings 2024-11-20 07:43:59 +01:00
mood fix: Improves status view layout and readability 2024-12-17 21:33:15 +01:00
msgio fix: Add TelegramWebhookView skeleton for POST handling 2024-11-17 16:01:19 +01:00
.gitignore chore: Update .gitignore to exclude static files 2024-11-17 16:40:04 +01:00
LICENSE feat(license): update copyright term and contact email 2024-05-17 13:29:47 +02:00
manage.py Initial commit 2020-12-27 18:49:54 +01:00
passenger_wsgi.py refactor: clean up unused imports and improve code quality 2024-06-02 20:27:02 +02:00
README.md feat(docs): Update documentation and complete TODO tasks 2024-11-28 17:41:53 +01:00
requirements-dev.txt feat: add dev dependencies for code formatting 2024-05-17 13:49:29 +02:00
requirements.txt fix: pin django-polymorphic to v4.0.0a 2024-05-17 13:17:57 +02:00
settings.dist.ini Migrate to AutoSecretKey 2022-10-25 14:40:48 +00:00
TODO.md feat(docs): Update documentation and complete TODO tasks 2024-11-28 17:41:53 +01:00

Kumify

Kumify is a personal management tool designed to track and manage various aspects of your life, including habits, moods, dreams, activities, and more. Built with Django, it offers a modular design, allowing users to manage different modules according to their needs.

Features

  • Mood Tracking: Log your mood entries, visualize mood patterns with statistics, and manage activities associated with moods.
  • Dream Journal: Record your dreams, categorize them with themes, and track lucid or special dreams.
  • Habits Tracking: Set up habits and monitor them through customizable schedules.
  • Health Tracking: Manage medications, schedules, and track health parameters.
  • Friends Management: Basic personal relationship manager to keep track of connections.
  • Environment Tracking: Analyze CO2 emissions and offset efforts.
  • OpenID Connect Authentication: Supports authentication with an external OpenID Connect provider.
  • Notification System: Receive notifications via Telegram or Matrix for different events or reminders.
  • API: Simple API to extend the application's capabilities.

Installation

Prerequisites

  • Python 3.11 or higher
  • A database server (SQLite is configured by default, can be switched to MariaDB/MySQL)

Steps

  1. Clone the repository:

    git clone https://your-repo-url/kumify.git
    cd kumify
    
  2. Create a virtual environment and activate it:

    python3 -m venv venv
    source venv/bin/activate
    
  3. Install the required packages:

    pip install -r requirements.txt
    
  4. Configure the settings:

    • Copy settings.dist.ini to settings.ini and edit as necessary with your configurations (e.g., database settings).
  5. Prepare the database:

    python manage.py makemigrations
    python manage.py migrate
    
  6. Create a superuser for administrative access:

    python manage.py createsuperuser
    
  7. Run the development server:

    python manage.py runserver
    

    Access the application at http://localhost:8000.

Configuration

The application uses settings.ini to manage configuration parameters like database, debugging, timezone, and other module-specific settings. Ensure to configure storage settings if you're using S3 for file storage or MySQL for the database.

Modules

Enable or disable different modules in kumify/settings.py by modifying the ENABLED_MODULES list.

Available Modules

  • cbt: Cognitive Behavioral Therapy tools
  • mood: Mood tracking and statistics
  • habits: Habits management (WIP)
  • dreams: Dream journal and analysis
  • health: Health and medication tracking (WIP)
  • friends: Relationship management (WIP)
  • environment: CO2 management and offsetting (WIP)

Notifications

Kumify supports sending notifications via Telegram and Matrix. Setup requires API keys and configuration details for each platform in the database settings.

Development

This project includes additional tools and dependencies specified in requirements-dev.txt for development purposes, such as code formatters and linters.

Development Commands

  • Format code with Black:

    black .
    
  • Lint code with Ruff:

    ruff check .
    

Contributing

Contributions are welcome. Feel free to open issues or submit pull requests for bug fixes, feature requests, and enhancements.

License

Kumify is licensed under the MIT License. See the LICENSE file for more details.

Acknowledgments

Thanks to various open source projects that have contributed to this application, including Django and its ecosystem.