Note
This is an assignment design for 2024 Fall Python Programming by student ID: 547a1ec97aff5d1cc4d5c510fcd126a8
(MD5 Hash).
EverCal is a custom-built calendar application designed to support daily, weekly, monthly, and yearly views of events. It is developed using Python and PySide6, providing an intuitive graphical interface for users to manage events, holidays, and other time-based information. It supports features like recurring events, all-day events, and integrates with external libraries to handle lunar dates for Chinese holidays.
- Yearly, Monthly, Weekly, and Daily Views: View events in different layouts.
- All-Day Events: Display full-day events in a simplified format.
- Recurring Events: Create events that repeat daily, weekly, monthly, yearly, or customize your own repeating pattern.
- Lunar Calendar Support: Integrates the lunarcalendar library to support Chinese holidays based on lunar dates.
- Custom Events: Add events with detailed information including name, time, location, invitees, and notes.
- SQLite Integration: Events are stored in an SQLite database for persistence across sessions.
- Holiday Display: Pre-configured Chinese mainland holidays (e.g., National Day, Spring Festival) are displayed annually without database storage.
Python 3.11
PySide6
sqlalchemy
lunarcalendar
- Clone the repository:
git clone https://github.com/martin-cao/EverCal.git
cd EverCal
- Install the required packages:
pip install -r requirements.txt
- Run the app:
python main.py
- Daily, Weekly & Yearly view
- Add, Edit & Delete events
- Timezone Support
- Independent All-Day Event UI
- iCalendar Support
- CLI Calendar Management
Warning
As this is an assignment project, please DO NOT pull request! If you have any suggestion about this project, please create an issue.
For more information, please contact [email protected].