Architecture
Architecture Overview
System architecture and design decisions
Architecture Overview
FirstDevJob is built with a modern, serverless architecture optimized for real-time updates and developer experience.
System Diagram
┌─────────────────────────────────────────────────────────────┐
│ Client │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Next.js App │───▶│ React Components │ │
│ └─────────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────────────┘
│ │
▼ ▼
┌─────────────────────┐ ┌─────────────────────┐
│ Clerk │ │ Convex │
│ Authentication │◀──▶│ Backend + DB │
└─────────────────────┘ └─────────────────────┘Key Components
Frontend (Next.js)
- Server-side rendering for SEO
- React components with TypeScript
- Tailwind CSS for styling
- Real-time data subscriptions
Authentication (Clerk)
- OAuth providers GitHub
- Email/password authentication
- Session management
- User profile management
Backend (Convex)
- Real-time database with subscriptions
- Type-safe queries and mutations
- Automatic caching and optimization
- Cron jobs for scheduled tasks
Data Flow
- User interacts with React component
- Component calls Convex query/mutation
- Convex validates request and checks auth
- Database operation executes
- Real-time update pushed to all clients