Flask backend service for the Eventbrite to iCal Converter application. Handles OAuth authentication and iCal file generation.
- Features
- Technology Stack
- Prerequisites
- Installation
- API Documentation
- Configuration
- Deployment
- Contributing
- License
- OAuth2 authentication with Eventbrite
- Fetch user's Eventbrite orders
- Generate iCal files from event data
- CORS support for frontend integration
- Python 3.7+
- Flask
- Flask-CORS
- ics (iCal generation)
- Requests (HTTP client)
- Python 3.7 or higher
- pip (Python package manager)
- Eventbrite API credentials
- Virtual environment (recommended)
- Clone the repository:
git clone https://github.com/your-username/eventbrite-to-ical-backend.git
cd eventbrite-to-ical-backend
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Create a
.env
file:
CLIENT_ID=your_eventbrite_client_id
CLIENT_SECRET=your_eventbrite_client_secret
FRONTEND_URL=your_frontend_url
- Run the application:
python app.py
GET /oauth/callback
Handles the OAuth callback from Eventbrite.
GET /events/ical
Query Parameters:
- access_token: Eventbrite OAuth access token
Generates and returns an iCal file of the user's Eventbrite tickets.
CLIENT_ID
: Eventbrite application client IDCLIENT_SECRET
: Eventbrite application client secretFRONTEND_URL
: URL of the frontend applicationREDIRECT_URI
: OAuth callback URL
- Flask
- Flask-CORS
- requests
- python-dotenv
- ics
- Create a new Web Service on Render
- Connect your GitHub repository
- Configure environment variables:
CLIENT_ID
CLIENT_SECRET
FRONTEND_URL
- Set the build command:
pip install -r requirements.txt
- Set the start command:
gunicorn app:app
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details