Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Pocket Google Calendar

An application based on the Pocket Flow framework for Google Calendar integration.

📋 Description

This project implements a Google Calendar integration using the Pocket Flow framework, allowing efficient management of events and appointments through a simple and intuitive interface.

🚀 Features

  • Google Calendar API Integration
  • Event Management
  • Appointment Viewing
  • Flow-based Interface using Pocket Flow

🛠️ Technologies Used

  • Python
  • Pocket Flow Framework
  • Google Calendar API
  • Pipenv for dependency management

📦 Installation

  1. Clone the repository:
git clone [REPOSITORY_URL]
cd pocket-google-calendar
  1. Install dependencies using Pipenv:
pipenv install

🔑 Credentials Setup

  1. Go to the Google Cloud Console
  2. Create a new project or select an existing one
  3. Enable the Google Calendar API for your project
  4. Create credentials:
    • Go to "APIs & Services" > "Credentials"
    • Click "Create Credentials" > "OAuth client ID"
    • Choose "Desktop application" as the application type
    • Download the credentials file
    • Rename it to credentials.json
    • Place it in the root directory of the project

🌍 Environment Variables

Create a .env file in the root directory with the following variables:

# Google Calendar API Configuration
GOOGLE_CALENDAR_ID=your_calendar_id@group.calendar.google.com
GOOGLE_APPLICATION_CREDENTIALS=credentials.json

# Application Configuration
TIMEZONE=America/Sao_Paulo  # or your preferred timezone

🔧 Configuration

  1. Activate the virtual environment:
pipenv shell
  1. Run the application:
python main.py

Expected Output

When running the example, you'll see an output similar to this:

=== Listing your calendars ===
- Primary Calendar
- Work
- Personal

=== Creating an example event ===
Event created successfully!
Event ID: abc123xyz

📁 Project Structure

pocket-google-calendar/
├── main.py           # Application entry point
├── nodes.py          # Pocket Flow node definitions
├── utils/            # Utilities and helper functions
├── Pipfile           # Pipenv configuration
├── credentials.json  # Google Calendar API credentials
├── .env             # Environment variables
└── token.pickle      # Google Calendar authentication token

🤝 Contributing

  1. Fork the project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📝 License

This project is under the MIT License. See the LICENSE file for more details.

✨ Acknowledgments