{"id":18744961,"url":"https://github.com/rkstudio585/weekly-routine-manager","last_synced_at":"2026-01-03T02:43:47.169Z","repository":{"id":256885429,"uuid":"851886984","full_name":"rkstudio585/Weekly-Routine-Manager","owner":"rkstudio585","description":"A customizable daily routine app built with PySide6 and SQLite3. It allows users to manage daily activities, toggle between dark/light modes, export/import routines in XML, and update tasks dynamically. The app features intuitive UI controls for editing, adding, and deleting routines, with a focus on ease of use.","archived":false,"fork":false,"pushed_at":"2024-09-03T21:58:42.000Z","size":6185,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-16T16:07:14.433Z","etag":null,"topics":["delay","delhi-task","manager","program","programming","python","rk","rk-studio","task","task-manager","ui","ui-components","ui-design","weekly","weekly-routine-manager"],"latest_commit_sha":null,"homepage":"https://github.com/mdriyadkhan585","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rkstudio585.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-03T21:25:43.000Z","updated_at":"2024-10-14T11:19:34.000Z","dependencies_parsed_at":"2024-09-13T16:23:15.811Z","dependency_job_id":"cbe5aa51-f436-4dce-acf5-ca77f76c152c","html_url":"https://github.com/rkstudio585/Weekly-Routine-Manager","commit_stats":null,"previous_names":["rkstudio585/weekly-routine-manager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rkstudio585/Weekly-Routine-Manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rkstudio585%2FWeekly-Routine-Manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rkstudio585%2FWeekly-Routine-Manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rkstudio585%2FWeekly-Routine-Manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rkstudio585%2FWeekly-Routine-Manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rkstudio585","download_url":"https://codeload.github.com/rkstudio585/Weekly-Routine-Manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rkstudio585%2FWeekly-Routine-Manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273082413,"owners_count":25042282,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-01T02:00:09.058Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["delay","delhi-task","manager","program","programming","python","rk","rk-studio","task","task-manager","ui","ui-components","ui-design","weekly","weekly-routine-manager"],"created_at":"2024-11-07T16:16:26.994Z","updated_at":"2026-01-03T02:43:47.125Z","avatar_url":"https://github.com/rkstudio585.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🗓️ Weekly Routine Manager\n---\n\n![Logo](logo.svg)\n\n---\n\n## 📖 Overview\n\n---\nThe **Weekly Routine Manager** is a sleek and intuitive desktop application designed to help you manage and organize your weekly routines. Built with Python and the `PySide6` library, this app offers a user-friendly interface for creating, viewing, editing, deleting, importing, and exporting your daily schedules. Whether you're a fan of dark mode or prefer a light theme, this app provides an easy toggle between the two, ensuring a comfortable user experience.\n\n---\n![gif](https://github.com/mdriyadkhan585/Weekly-Routine-Manager/blob/main/assets/example.gif)\n\n---\n## ✨ Features\n\n- **🗓️ View Routine**: Select a day of the week to view all scheduled activities for that day.\n- **➕ Add New Routine**: Easily add new time and activity entries for any specific day.\n- **✏️ Edit Routine**: Modify existing time and activity details of a routine.\n- **❌ Delete Routine**: Remove specific entries from a day’s routine.\n- **📥 Import Routine**: Import routine data from an XML file.\n- **📤 Export Routine**: Export routine data to an XML file.\n- **🌗 Toggle Dark/Light Mode**: Switch between dark and light themes with a simple click.\n- **🚪 Exit**: Quit the application with a single click.\n\n## 🛠️ Prerequisites\n\nBefore you can run the application, ensure that you have the following installed:\n\n- **🐍 Python 3.x**: The application is built using Python 3.x.\n- **🖥️ PySide6**: This is the primary framework used for the graphical user interface.\n\nYou can install the required Python packages by running:\n\n```bash\npip install PySide6 qtpy\n```\n\n## 🚀 Getting Started\n\nTo start the application, navigate to the project directory and execute the following command:\n\n```bash\ngit clone https://github.com/mdriyadkhan585/Weekly-Routine-Manager\ncd Weekly-Routine-Manager\npython main.py\n```\n\nThis will launch the **Weekly Routine Manager** application.\n\n## 🖥️ Application Layout\n\nThe application interface is organized into several sections for ease of use:\n\n### 1. **🔝 Top Bar**\n   - **🚪 Exit Button (X)**: Positioned at the top left, this button closes the application.\n   - **🌗 Dark/Light Mode Toggle (M)**: Located at the top right, this button toggles between dark and light modes. Long-pressing the button displays a tooltip: \"Check Dark/White Mode\".\n\n### 2. **🖥️ Main Section**\n   - **📅 Day Selector**: A dropdown menu that allows you to select a day of the week to view the routine.\n   - **🔍 Show Routine Button**: Displays the activities scheduled for the selected day.\n   - **📋 Routine Table**: A table with two columns:\n     - **⏰ Time**: Displays the time of each activity.\n     - **📝 Activity**: Displays the description of each activity.\n\n### 3. **⬇️ Bottom Buttons**\n   - **➕ Add New Routine**: Opens a dialog to add a new routine entry with time and activity. This entry is then added to the table and the database.\n   - **❌ Delete Routine**: Opens a dialog to input the row number of the entry you want to delete. The entry is removed from the table and the database.\n   - **✏️ Edit Routine**: Opens a dialog to edit the time and activity of a selected row. The edited entry is updated in the table and the database.\n   - **📥 Import**: Allows you to import routine data from an XML file, replacing the current data.\n   - **📤 Export**: Exports the current routine data to an XML file, which is saved in the `Documents` folder.\n\n## 📝 How to Use the Application\n\n### 🔍 Viewing a Routine\n1. **Select a Day**: Use the dropdown menu to select a day.\n2. **Show Routine**: Click the \"Show Routine\" button to display the schedule for the selected day.\n\n### ➕ Adding a New Routine\n1. **Add New Routine**: Click the \"Add New Routine\" button.\n2. **Input Details**: In the dialog box, enter the time and activity details.\n3. **Save or Cancel**: Click \"OK\" to add the entry, or \"Cancel\" to discard it.\n\n```python\n# Example of adding a new routine entry\ntime = \"10:00 AM - 11:00 AM\"\nactivity = \"🧘 Meditation\"\nadd_routine(time, activity)\n```\n\n### ✏️ Editing a Routine\n1. **Edit Routine**: Click the \"Edit Routine\" button.\n2. **Select Row**: Enter the row number you wish to edit.\n3. **Modify Details**: Update the time and activity.\n4. **Save or Cancel**: Click \"OK\" to save changes, or \"Cancel\" to discard them.\n\n```python\n# Example of editing an existing routine entry\nrow = 2  # Row number to edit\nnew_time = \"11:00 AM - 12:00 PM\"\nnew_activity = \"📚 Study Time\"\nedit_routine(row, new_time, new_activity)\n```\n\n### ❌ Deleting a Routine\n1. **Delete Routine**: Click the \"Delete Routine\" button.\n2. **Select Row**: Enter the row number of the entry you wish to delete.\n3. **Confirm or Cancel**: Click \"OK\" to delete, or \"Cancel\" to keep the entry.\n\n```python\n# Example of deleting a routine entry\nrow_to_delete = 3  # Row number to delete\ndelete_routine(row_to_delete)\n```\n\n### 📤 Exporting a Routine\n1. **Export**: Click the \"Export\" button.\n2. **Choose Location**: Select a location in the `Documents` folder to save the XML file.\n\n### 📥 Importing a Routine\n1. **Import**: Click the \"Import\" button.\n2. **Select XML File**: Choose the XML file to import. The current routine data will be replaced by the data in the file.\n\n```python\n# Example of importing routine data from XML\nimport_routine(\"routine_data.xml\")\n```\n\n### 🌗 Toggling Dark/Light Mode\n1. **Toggle Mode**: Click the \"M\" button in the top right corner to switch between dark and light modes.\n2. **Tooltip**: Long-pressing the \"M\" button displays a tooltip saying \"Check Dark/White Mode\".\n\n### 🚪 Exiting the Application\n1. **Exit**: Click the \"X\" button in the top left corner to close the application.\n\n## 🗄️ Database Management\n\nThe application uses an SQLite database (`routine.db`) to store routine data. The database has a `routine` table with the following structure:\n\n- **day**: The day of the week (e.g., \"Monday\").\n- **time**: The time slot of the activity.\n- **activity**: The description of the activity.\n\nWhen you add, edit, or delete routines in the app, the database is automatically updated.\n\n### SQL Example\n\n```sql\nCREATE TABLE routine (\n    id INTEGER PRIMARY KEY,\n    day TEXT NOT NULL,\n    time TEXT NOT NULL,\n    activity TEXT NOT NULL\n);\n\n-- Insert a new routine\nINSERT INTO routine (day, time, activity)\nVALUES ('Monday', '08:00 AM - 09:00 AM', '🏋️‍♂️ Gym');\n\n-- Update a routine\nUPDATE routine\nSET time = '09:00 AM - 10:00 AM', activity = '☕ Coffee Break'\nWHERE id = 1;\n\n-- Delete a routine\nDELETE FROM routine WHERE id = 1;\n```\n\n## 🎨 Customizing Themes\n\nYou can further customize the look and feel of the application by modifying the style sheets in the `apply_theme()` method within the `routine_view.py` file. The method defines styling for both dark and light modes.\n\n```python\ndef apply_theme(dark_mode=True):\n    if dark_mode:\n        # Set dark theme styles\n        self.setStyleSheet(\"background-color: #2E2E2E; color: white;\")\n    else:\n        # Set light theme styles\n        self.setStyleSheet(\"background-color: white; color: black;\")\n```\n\n## 🛠️ Dependencies\n\nTo ensure everything runs smoothly, make sure you have the following installed:\n\n```bash\npip install PySide6 qtpy\n```\n\n## 🚧 Troubleshooting\n\n### Common Issues:\n- **App crashes on startup**: Ensure all dependencies are installed correctly.\n- **Database not updating**: Check for correct SQL syntax when adding, editing, or deleting entries.\n- **Dark/Light mode not toggling**: Verify that the `apply_theme()` method is properly configured.\n\n## 🤝 Contributing\n\nWe welcome contributions! If you encounter bugs, feel free to submit an issue or a pull request. \n\n## 📝 License\n\nThis project is licensed under the MIT License. See the `LICENSE` file for more details.\n\n## 📬 Contact\n\nFor any queries or support, feel free to reach out to the project maintainers.\n\n---\n![app logo](https://github.com/mdriyadkhan585/Weekly-Routine-Manager/blob/main/assets/app_icon.png)\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frkstudio585%2Fweekly-routine-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frkstudio585%2Fweekly-routine-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frkstudio585%2Fweekly-routine-manager/lists"}