Skip to content

nevsin/calendar-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Personal Calendar Manager

Project Overview

The Personal Calendar Manager is a command-line Python application that provides basic calendar functionalities. It is designed as a lightweight and user-friendly tool for managing daily events without relying on external databases or graphical interfaces. Event data is stored in a plain text file, and all interactions are performed through a loop-driven console menu.

Users can:

  • Display a full calendar for any month and year
  • Add personal events by specifying a date and description
  • View events assigned to a specific date
  • Delete events based on date and description

Features

  • Calendar Display: View the calendar for any chosen month and year.
  • Event Addition: Add events to specific dates. Events are stored in events.txt in the format YYYY-MM-DD | Description.
  • Event Viewing: Display all events for a selected date.
  • Event Deletion: Remove a specific event by providing both date and description.
  • Input Validation: Ensures dates follow the YYYY-MM-DD format.
  • Loop-Based Menu: Provides a continuous menu until the user chooses to exit.
  • Safe File Handling: Handles missing files and invalid input gracefully.

Technologies Used

  • Python 3.x
  • Built-in Modules:
    • calendar – for generating monthly calendars
    • datetime – for validating and processing dates
    • os – for file handling and compatibility
  • File I/O: Events stored in a plain text file (events.txt)

No external libraries or frameworks are required.


Installation and Usage

  1. Clone the repository:

    git clone https://github.com/nevsin/calendar-manager.git
    cd calendar-manager
  2. Run the program:

    python main.py
  3. Follow the on-screen menu to:

    • Show calendar
    • Add events
    • View events
    • Delete events
    • Exit

Future Improvements

  • Monthly event overview (list all events for a selected month)
  • Support for recurring events (e.g., birthdays, weekly meetings)
  • Event sorting and grouping by date
  • Search functionality by keyword or date range
  • Backup and import/export of event data
  • Graphical User Interface (e.g., Tkinter or PyQt)

Conclusion

This project demonstrates the use of Python to build a functional, console-based calendar application without external libraries. It reinforces core programming skills such as modular design, input validation, file handling, and user interaction.

About

A simple command-line calendar manager built with Python for managing personal events.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages