Your personalized SMS service to stay motivated, entertained, and organized. Whether you’re looking for reminders to stay hydrated, daily laughs, motivational quotes, or live match scores, DailyMoodBoost has you covered. Explore our versatile and engaging SMS features, designed to brighten your day and simplify your life.
📍 Overview DailyMoodBoost is a powerful SMS notification system that integrates external APIs to create a fun and automated communication platform. With seamless SMS management, joke retrieval, and database functionality, this service keeps you informed, inspired, and entertained every step of the way.
-
WATER: Stay hydrated and refreshed. Subscribe: Send JOIN WATER to start receiving reminders to drink water. Customize Times: Use CS WATER to set your preferred reminder times (e.g., CS WATER 08:00 12:00 18:00). Leave the Service: Send LEAVE WATER to stop receiving reminders.
-
JOKE: Add humor to your day. Subscribe: Send JOIN JOKE to start receiving 3 daily jokes. Customize Time: Use CS JOKE to set the delivery time for your jokes (e.g., CS JOKE 15:00). Instant Joke: Send JOKE anytime for a quick laugh.
-
QUOTE: Stay motivated and inspired. Subscribe: Send JOIN QUOTE to start receiving 3 daily inspirational quotes. Instant Quote: Send QUOTE anytime to receive an immediate quote.
-
Match Scores: Never miss the latest sports updates. Get Scores: Send GAME to receive live updates about your favorite teams (e.g., GAME Hamburger SV).
-
General Commands: Subscribe to All: Send SUBSCRIBE DailyMoodBoost to join all available services at once. View Status: Send STATUS to see the list of services you're currently subscribed to. Unsubscribe All: Send UNSUBSCRIBE DailyMoodBoost to leave all services.
- 📱 SMS sending capabilities with flexible management
- 🤣 Random joke retrieval from external API
- 💾 SQLite database integration for persistent storage
- 🔗 Modular architecture with clear separation of concerns
- 🚀 Easy configuration and extensibility
└── hackathon-group-1/
├── README.md
├── __pycache__
│ └── config.cpython-312.pyc
├── config.py
├── data_managers
│ ├── __init__.py
│ ├── __pycache__
│ ├── sms_manager.py
│ └── sqlite_manager.py
├── database
│ ├── __pycache__
│ ├── dailyMoodBoost.sqlite
│ ├── extension.py
│ └── init.py
├── external_api
│ ├── __init__.py
│ ├── __pycache__
│ ├── jokes.py
│ ├── match.py
│ └── quotes.py
├── handlers
│ ├── __init__.py
│ ├── change_scheduler.py
│ ├── handle_drink_response.py
│ ├── join_channel.py
│ ├── leave_channel.py
│ ├── status_response.py
│ ├── subscribe_team.py
│ └── unsubscribe_team.py
├── main.py
├── requirements.txt
├── schemas
│ ├── __init__.py
│ ├── __pycache__
│ ├── _base.py
│ ├── channel_schema.py
│ ├── custom_schedule.py
│ ├── jokes_schema.py
│ ├── message_schema.py
│ ├── subscription_schema.py
│ └── user_schema.py
├── sms_responses.py
├── task_scheduler
│ ├── __init__.py
│ ├── broadcasts.py
│ └── task_scheduler.py
└── utils
├── __pycache__
├── dates.py
├── decorators.py
├── information.py
├── to_dict_mixin_schema.py
└── validation.pyHACKATHON-GROUP-1/
__root__
sms_responses.py Contains the response messages for the SMS service. config.py Contains the configuration settings for the application, including API endpoints, credentials, and constants. main.py The main entry point of the application. It handles incoming SMS messages, processes them, and sends responses. requirements.txt Lists the project dependencies, such as the libraries and packages required to run the application.
handlers
leave_channel.py Contains the logic for unsubscribing users from SMS channels. unsubscribe_team.py Contains the logic for unsubscribing users from SMS channels. handle_drink_response.py Contains the logic for handling responses related to drink reminders. change_scheduler.py Contains the logic for allowing users to change the schedule of their SMS reminders. status_response.py Contains the logic for sending the status of subscriptions to users. join_channel.py Contains the logic for subscribing users to SMS channels. subscribe_team.py Contains the logic for subscribing users to SMS channels.
schemas
user_schema.py Defines the database schema for users, including phone number and timestamps. subscription_schema.py Defines the database schema for subscriptions, linking users to channels. _base.py Defines the base class for database schemas, including common fields and methods. message_schema.py Defines the database schema for messages, including sender, content, and timestamps. jokes_schema.py Defines the database schema for jokes, including the joke text and timestamps. custom_schedule.py Defines the database schema for custom schedules, allowing users to personalize their reminder timings. channel_schema.py Defines the database schema for channels, including channel name and ID.
task_scheduler
task_scheduler.py Contains the task scheduler, responsible for sending scheduled messages and managing scheduled tasks. broadcasts.py Contains the logic for broadcasting messages to subscribed users.
data_managers
sqlite_manager.py Manages interactions with the SQLite database, handling data storage and retrieval. sms_manager.py Manages sending and receiving SMS messages through the Masterschool SMS API.
utils
dates.py Provides utility functions for handling dates and times. information.py Provides utility functions for handling information and printing messages. validation.py Provides utility functions for validating data, such as incoming SMS messages. decorators.py Provides decorators for modifying the behavior of functions. to_dict_mixin_schema.py Provides a mixin class for converting database objects to dictionaries.
external_api
jokes.py Provides functions for fetching jokes from an external API. match.py Provides functions for fetching football match data from an external API. quotes.py Provides functions for fetching quotes from an external API.
database
extension.py Provides extensions and configurations for the database. init.py Initializes the database and sets up the database schema. dailyMoodBoost.sqlite The SQLite database file used to store application data.
-
Task 1: Set up core project structure -
Task 2: Implement SMS sending functionality -
Task 3: Integrate external joke API -
Task 4: Enhance error handling -
Task 5: Add more advanced configuration options -
Task 6: Implement comprehensive logging
Enjoy the DailyMoodBoost experience! Stay hydrated, laugh more, get inspired, and never miss a match! 😊