https://github.com/abhivarde/sendra
Monitor Appwrite Sites Deployments.
https://github.com/abhivarde/sendra
appwrite material-ui nextjs react resend typescript vercel
Last synced: 3 months ago
JSON representation
Monitor Appwrite Sites Deployments.
- Host: GitHub
- URL: https://github.com/abhivarde/sendra
- Owner: AbhiVarde
- License: mit
- Created: 2025-09-22T04:55:05.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-09-28T14:42:29.000Z (9 months ago)
- Last Synced: 2025-09-28T16:36:27.129Z (9 months ago)
- Topics: appwrite, material-ui, nextjs, react, resend, typescript, vercel
- Language: TypeScript
- Homepage: https://sendra.vercel.app
- Size: 703 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://vercel.com/new/clone?repository-url=https://github.com/AbhiVarde/abhivarde.in)
# πͺ΄ Introducing Sendra
**Monitor Appwrite Sites & Functions Deployments.**
Never miss a failed deployment! Sendra monitors your Appwrite Sites and Functions deployments and sends instant email alerts when something goes wrong.

## π― Problem
Appwrite doesn't send email notifications for failed deployments like Vercel does. Sendra fills this critical gap by monitoring your Appwrite projects (both Sites and Functions) and alerting you instantly when deployments fail.
## β¨ Key Features
- π **GitHub Login** β Secure and instant authentication
- π **Connect Projects** β Add Project ID & API Key to start monitoring
- π‘ **Automatic Monitoring** β Tracks Sites & Functions deployments in real time
- π **Dashboard Overview** β View latest status, history, and analytics
- π **Region Support** β Works across all 6 Appwrite Cloud regions
- π€ **Appwrite Avatars** β Clean user initials, region flags, and QR codes
- π§ **Email Alerts** β Alerts you instantly for **new** failed deployments
- π§ **AI Log Analysis** β Explains failure logs & suggests possible fixes
- π¬ **Slash Commands** β `/overview`, `/failed`, `/help` for quick insights
- π **Encrypted Storage** β API Keys encrypted securely
- π **Automated Checks** β Cron job runs every 5 minutes
- π **Fast Setup** β Add your project details & start monitoring in minutes
## π Supported Regions
Monitor your Appwrite deployments globally across all available regions:
| Region | Code | Location |
| ---------------- | ---- | ------------- |
| π©πͺ Frankfurt | FRA | Germany |
| πΊπΈ New York | NYC | United States |
| π¦πΊ Sydney | SYD | Australia |
| πΊπΈ San Francisco | SFO | United States |
| πΈπ¬ Singapore | SGP | Singapore |
| π¨π¦ Toronto | TOR | Canada |
## π οΈ Tech Stack
- **Frontend:** Next.js, Material UI, TypeScript
- **Backend:** Appwrite Functions & Database
- **Authentication:** GitHub OAuth
- **UI Enhancements:** Appwrite Avatars (initials, flags, QR)
- **Email Service:** Resend API
- **AI Analysis**: Vercel AI SDK powered by Gemini
- **Deployment:** Vercel
- **Security:** Encrypted API keys
## π How It Works
1. **Login** with GitHub
2. **Add Your Project** β Project ID, API Key, region, and email
3. **Sendra Monitors Automatically** β Cron checks deployments every 5 minutes
4. **Get Alerts** β Email notifications for **new** failed deployments
5. **AI Analysis** β Logs analyzed to suggest potential fixes
6. **Use Command Interface** β Quickly get insights via slash commands like
`/overview`, `/failed`, `/help`
7. **Check Dashboard** β View real-time status, history, and analytics anytime
## π¦ Installation & Setup
### Prerequisites
- Node.js 18+
- Appwrite account
- Resend account for email notifications
### Local Development
```bash
# Clone the repository
git clone https://github.com/AbhiVarde/sendra.git
cd sendra
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Add your GitHub OAuth, Appwrite, and Resend credentials
# Run the development server
npm run dev
```
### Environment Variables
```env
NEXT_PUBLIC_APPWRITE_ENDPOINT=
NEXT_PUBLIC_APPWRITE_PROJECT_ID=
NEXT_PUBLIC_APPWRITE_DATABASE_ID=
NEXT_PUBLIC_APPWRITE_COLLECTION_ID=
NEXT_PUBLIC_APPWRITE_FETCH_DEPLOYMENTS_FUNCTION_ID=
NEXT_PUBLIC_APPWRITE_ENCRYPTION_SECRET=
RESEND_API_KEY=
RESEND_INBOUND_WEBHOOK_SECRET=
```
## π Appwrite Setup
### ποΈ Collections
- **sendra**: `userId`, `projectId`, `deployments`, `functionDeployments`, `trackedDeployments[]`, `trackedFunctionDeployments[]`, `alerts`, `email`, `isActive`, `apiKey`, `region`, `$id`, `$createdAt`, `$updatedAt`
### β‘ Functions
- The monitoring logic runs on Appwrite Functions with a cron schedule, checking both Sites and Functions deployments
## π€ Contributing
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit changes (`git commit -m 'feat: add amazing feature'`)
4. Push to branch (`git push origin feature/amazing-feature`)
5. Open Pull Request
**Development Guidelines:**
- Follow existing code patterns
- Test error scenarios thoroughly
- Maintain responsive design
- Keep commits focused and descriptive
## π Support
**Love Sendra? Help me keep building!**
- π **$5 / month - Monthly Supporter** β Recognition in the GitHub README
- π **$19 / month - Monthly Sponsor** β README + Portfolio recognition
- π **$49 / month - Featured Sponsor** β README + Portfolio + promotion on Sync UI
[π Become a Sponsor](https://github.com/sponsors/AbhiVarde)
## License
Sendra is licensed under the [MIT License](http://choosealicense.com/licenses/mit/). All rights reserved.
## Authors
Sendra is created and maintained by [Abhi Varde](https://www.abhivarde.in/).
---
β **Found this helpful? Give it a star!**