Skip to content

Moussa-M/ical

Repository files navigation

iCalify

A smart web application for managing Google Calendar events with features for bulk deletion and ICS file processing.

Features

  • 🗑️ Bulk Event Deletion: Delete multiple events within a specified date range
  • 📅 ICS File Processing: Find and delete events that were previously imported from ICS files
  • 📊 Calendar Management: Manage multiple calendars, including deletion and unsubscription
  • 🔐 Secure Authentication: Uses Google OAuth2 for secure access to calendars
  • 🎨 Modern UI: Clean, intuitive interface with responsive design

Setup

  1. Clone the repository:
git clone https://github.com/yourusername/icalify.git
cd icalify
  1. Install dependencies:
pip install -r requirements.txt
  1. Set up Google Calendar API:

    • Go to Google Cloud Console
    • Create a new project
    • Enable the Google Calendar API
    • Create OAuth 2.0 credentials (Web application)
    • Add authorized redirect URIs (e.g., http://localhost:5000/oauth2callback for local development)
  2. Create a .env file with your credentials:

GOOGLE_CLIENT_ID=your_client_id
GOOGLE_CLIENT_SECRET=your_client_secret
FLASK_SECRET_KEY=your_secret_key
REDIRECT_URI=http://your-domain/oauth2callback

Development

Run the development server:

flask run --debug

Deployment

The application can be deployed to various platforms:

Vercel

vercel

Docker

docker build -t icalify .
docker run -p 5000:5000 icalify

Contributing

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

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages