AI-powered placement email analyzer for students. Syncs with Gmail, summarizes emails with OpenAI, and helps you never miss a deadline.
- Gmail Integration - Securely sync placement emails via Google OAuth
- AI Summaries - GPT-4 powered email analysis and categorization
- Smart Extraction - Automatically extracts company, role, deadline, salary, eligibility
- Google Calendar - One-click deadline sync to your calendar
- Real-time Updates - SSE streaming for live email processing
- Beautiful Dashboard - Modern UI with category filters, priority sorting, and detailed views
| Layer | Technology |
|---|---|
| Frontend | Next.js 16, TypeScript, Tailwind CSS, shadcn/ui |
| Backend | Go 1.21+, Chi router, PostgreSQL |
| AI | OpenAI GPT-4 Mini |
| Auth | Google OAuth 2.0, JWT |
| Database | PostgreSQL with Goose migrations |
AuraMail/
├── app/
│ ├── backend/ # Go backend API
│ │ ├── cmd/ # Entry point
│ │ ├── internal/ # Core logic (auth, gmail, ai, calendar)
│ │ └── migrations/ # Database migrations
│ └── frontend/ # Next.js frontend
│ └── src/app/ # App router pages
└── packages/
└── database/ # Shared database package
- Go 1.21+
- Node.js 18+
- PostgreSQL 12+
- Google Cloud project with OAuth credentials
- OpenAI API key
git clone https://github.com/yourusername/auramail.git
cd auramailBackend (app/backend/.env):
PORT=8080
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/auramail
JWT_SECRET=your-jwt-secret
GOOGLE_OAUTH_CLIENT_ID=your-client-id
GOOGLE_OAUTH_CLIENT_SECRET=your-client-secret
GOOGLE_OAUTH_REDIRECT_URI=http://localhost:8080/auth/google/callback
OPENAI_API_KEY=your-openai-key
FRONTEND_URL=http://localhost:3000
ALLOWED_ORIGINS=http://localhost:3000Frontend (app/frontend/.env.local):
NEXT_PUBLIC_API_URL=http://localhost:8080cd app/backend
make docker-up # Start PostgreSQL
make migrate-up # Run migrationsTerminal 1 - Backend:
cd app/backend
make devTerminal 2 - Frontend:
cd app/frontend
npm install
npm run dev| Method | Endpoint | Description |
|---|---|---|
GET |
/health |
Health check |
GET |
/auth/google |
Start OAuth flow |
GET |
/auth/google/callback |
OAuth callback |
POST |
/auth/refresh |
Refresh access token |
GET |
/auth/me |
Get current user |
GET |
/emails |
Get email summaries |
GET |
/emails/sync |
Sync new emails |
GET |
/emails/stream |
SSE stream for processing |
POST |
/calendar/events |
Add event to calendar |
AuraMail automatically categorizes emails into:
- Internships
- Job Offers
- PPT (Pre-Placement Talks)
- Workshops
- Exams
- Interviews
- Results
- Reminders
- Announcements
- Registration
make dev # Run with hot reload
make build # Build binary
make test # Run tests
make migrate-up # Apply migrations
make migrate-down # Rollback migration
make lint # Run linternpm run dev # Development server
npm run build # Production build
npm run lint # Run ESLint- Go to Google Cloud Console
- Create a project and enable Gmail API + Calendar API
- Configure OAuth consent screen (External, test users)
- Create OAuth 2.0 credentials (Web application)
- Add redirect URI:
http://localhost:8080/auth/google/callback - Copy credentials to
.env
Modern landing page with animated light beams and feature highlights.
Email list with category sidebar, priority indicators, and quick actions.
Expanded view with AI summary, key details grid, and calendar integration.
MIT
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing) - Open a Pull Request