3.1 KiB
3.1 KiB
Calink Quick Start Guide
Get Calink running in under 5 minutes!
Option 1: Docker Compose (Recommended)
Requirements: Docker and Docker Compose
# Clone or navigate to the project
cd ics-generator
# Start everything
docker-compose up -d
# View logs
docker-compose logs -f
# Access the app
open http://localhost
That's it! Calink is now running on http://localhost
To stop:
docker-compose down
Option 2: Local Development
Requirements: Python 3.11+, Node.js 18+
Terminal 1 - Backend
cd backend
pip install -r requirements.txt
python main.py
Backend runs on: http://localhost:8000
Terminal 2 - Frontend
cd frontend
npm install
npm run dev
Frontend runs on: http://localhost:5173
Option 3: Kubernetes with Helm
Requirements: Kubernetes cluster, Helm 3+
# Install Calink
helm install calink ./helm/calink
# Check status
helm status calink
# Get access info
kubectl get ingress
First Steps
-
Create an Event
- Open the web UI
- Fill in event title and start date/time
- Add reminders using quick buttons or custom values
- Click "Download .ics"
-
Use History
- Switch to "History" tab
- Click "Load" on any past event to reuse it
- Click "Delete" to remove old events
-
Create Templates
- Set up your favorite reminder configuration
- Switch to "Templates" tab
- Click "Save Current Reminders"
- Name your template
- Apply it anytime in future events
API Examples
Generate ICS File
curl -X POST "http://localhost:8000/api/ics" \
-H "Content-Type: application/json" \
-d '{
"title": "Team Meeting",
"start_dt": "2026-03-01T10:00:00Z",
"reminders": [
{"amount": 10, "unit": "minutes"}
]
}' \
--output meeting.ics
Get History
curl http://localhost:8000/api/history
Create Template
curl -X POST "http://localhost:8000/api/templates" \
-H "Content-Type: application/json" \
-d '{
"name": "Standard Reminders",
"reminders": [
{"amount": 10, "unit": "minutes"},
{"amount": 1, "unit": "hours"},
{"amount": 1, "unit": "days"}
]
}'
Troubleshooting
"Failed to fetch" in UI:
- Ensure backend is running on port 8000
- Check browser console for errors
- Verify CORS is enabled (it should be by default)
Docker: "Port already allocated":
# Stop conflicting service
docker-compose down
# Or change ports in docker-compose.yml
Backend: "No module named 'fastapi'":
cd backend
pip install -r requirements.txt
Frontend: Build errors:
cd frontend
rm -rf node_modules package-lock.json
npm install
Next Steps
- Read the full README.md for detailed documentation
- Explore API documentation at http://localhost:8000/docs
- Customize Helm values for production deployment
- Set up ingress for custom domain
Support
- API Docs: http://localhost:8000/docs (when backend is running)
- Health Check: http://localhost:8000/health
- Full Documentation: README.md
Happy event creating! 🎉