A comprehensive Applicant Tracking System (ATS) specifically designed for hiring content writers, built with modern technologies and AI-powered assessment capabilities.
- Public Job Board: SEO-optimized job listings with advanced filtering
- AI-Powered Assessment: Automated scoring for writing quality, readability, SEO, English proficiency, and AI detection
- Multi-tenant Architecture: White-labeling support for multiple organizations
- Real-time Messaging: Communication system between admins and candidates
- Rich Assessment Editor: TipTap-based rich text editor for content submissions
- File Management: Secure file uploads with Supabase Storage
- Readability Analysis: Flesch-Kincaid, SMOG, and other readability metrics
- Writing Quality: Grammar, style, and content structure analysis
- SEO Optimization: Keyword usage, meta descriptions, and content structure
- English Proficiency: Language fluency and grammar assessment
- AI Detection: Advanced detection of AI-generated content
- Anthropic Integration: Enhanced analysis using Claude AI
- Application Management: Complete candidate lifecycle management
- Analytics & Reporting: Comprehensive hiring metrics and insights
- Bulk Actions: Efficient management of multiple applications
- Job Management: Create, edit, and manage job postings
- Tenant Configuration: White-labeling and branding customization
- Next.js 14 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first styling
- Radix UI - Accessible component primitives
- TipTap - Rich text editor
- Lucide React - Icon library
- Supabase - PostgreSQL database with real-time capabilities
- Row Level Security (RLS) - Fine-grained access control
- Supabase Storage - File management system
- Clerk - User authentication and management
- Role-based Access Control - Admin, candidate, and tenant roles
- Webhook Integration - Real-time user synchronization
- Anthropic Claude - Advanced AI analysis and scoring
- Resend - Transactional email delivery
- Redis - Caching and session management
- Sentry - Error monitoring and performance tracking
- Cloudflare - Security, DDoS protection, and CDN
- Rate Limiting - API protection and abuse prevention
- Vercel - Serverless deployment platform
- GitHub Actions - CI/CD pipelines (ready for setup)
- Environment Configuration - Multi-environment support
- Multi-tenant: Isolated data per organization
- Audit Logging: Complete activity tracking
- File Management: Secure file storage and access
- Real-time Subscriptions: Live updates for messaging
- RESTful Endpoints: Standard HTTP methods and status codes
- Type-safe: Zod validation and TypeScript interfaces
- Error Handling: Comprehensive error responses
- Rate Limiting: Protection against abuse
- Content Security Policy (CSP): XSS protection
- SQL Injection Prevention: Parameterized queries
- File Upload Security: Type and size validation
- Authentication Tokens: Secure session management
- Node.js 18+ and npm
- Supabase account
- Clerk account
- Anthropic API key
- Resend account
-
Clone and Install
git clone <repository-url> cd ats-platform npm install
-
Environment Setup
cp .env.example .env.local # Configure all environment variables -
Database Setup
# Run database migrations npm run db:migrate -
Development Server
npm run dev
# Deploy to Vercel
./scripts/deploy-to-vercel.sh
# Set up Cloudflare security
npm run setup:cloudflare- Unit Tests: Jest with React Testing Library
- E2E Tests: Playwright for comprehensive user flows
- API Tests: Node.js environment testing
- Coverage Reports: Comprehensive test coverage
# Run all tests
npm run test:all
# Run specific test types
npm run test # Unit tests
npm run test:e2e # E2E tests
npm run test:coverage # Coverage report
# Watch mode
npm run test:watch
# Using test runner script
./scripts/run-tests.sh --type all --coverage/api/health- Overall system health/api/health/redis- Cache system status/api/health/sentry- Error monitoring status/api/health/cloudflare- Security system status
- Sentry Performance: Real-time performance tracking
- Vercel Analytics: Traffic and performance insights
- Cloudflare Analytics: Security and CDN metrics
See .env.example for complete configuration options.
Key variables:
- Database: Supabase connection and keys
- Authentication: Clerk publishable and secret keys
- AI Services: Anthropic API key
- Email: Resend API configuration
- Caching: Redis connection string
- Monitoring: Sentry DSN and configuration
- Security: Cloudflare API tokens
NEXT_PUBLIC_ENABLE_ANALYTICS- Enable/disable analyticsNEXT_PUBLIC_ENABLE_DEBUG- Debug mode toggle
GET /api/jobs- List published jobsPOST /api/applications- Submit job applicationGET /api/health/*- System health checks
POST /api/jobs- Create job posting (admin)POST /api/assessments/score- Trigger AI scoringGET /api/admin/*- Admin dashboard APIs
POST /api/webhooks/clerk- User management syncPOST /api/webhooks/resend- Email delivery statusPOST /api/webhooks/external- Third-party integrations
- Redis: API responses and AI scores
- Cloudflare: Static asset and page caching
- Next.js: Built-in caching and optimization
- Indexes: Optimized query performance
- Connection Pooling: Efficient resource usage
- Query Optimization: Reduced database load
- Result Caching: Cached AI analysis results
- Batch Processing: Efficient assessment handling
- Rate Limiting: API quota management
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests:
npm run test:all - Submit a pull request
- TypeScript for type safety
- ESLint for code quality
- Prettier for formatting
- Conventional commits
Build Failures
- Check TypeScript errors:
npm run type-check - Verify environment variables
- Clear Next.js cache:
rm -rf .next
Database Connection
- Verify Supabase credentials
- Check network connectivity
- Review RLS policies
AI Scoring Issues
- Check Anthropic API key and quota
- Verify request payload format
- Review error logs in Sentry
Authentication Problems
- Validate Clerk configuration
- Check webhook endpoints
- Review user role assignments
This project is proprietary software. All rights reserved.
- Mobile App: React Native application
- Advanced Analytics: Machine learning insights
- Integration Hub: Third-party ATS integrations
- Video Interviews: Built-in video calling
- Multilingual Support: Internationalization
Built with β€οΈ using modern web technologies for efficient content writer hiring.