A full-stack job search portal built with Next.js and Supabase, showcasing modern web development practices and enterprise-level architecture.
This project demonstrates proficiency in modern full-stack development with a focus on performance, scalability, and developer experience.
- Next.js 15 - Full-stack React framework with App Router
- React 19 - Latest version with concurrent features and server components
- TypeScript 5 - Type-safe development with strict configuration
- Tailwind CSS 3 - Utility-first CSS framework with custom design system
- Radix UI - Accessible, unstyled component primitives
- React Hook Form + Zod - Form handling with schema validation
- TanStack Table - Powerful data tables with sorting, filtering, and pagination
- Lucide React - Modern icon library
- Next Themes - Theme management with dark/light mode
- Supabase - Backend-as-a-Service with PostgreSQL
- Supabase Auth - User authentication and authorization
- Row Level Security (RLS) - Database security policies
- Real-time subscriptions - Live data updates
- Edge Functions - Serverless API endpoints
- pnpm - Fast, disk space efficient package manager
- ESLint 9 - Modern linting with flat config
- Prettier - Code formatting and consistency
- PostCSS - CSS transformation and optimization
- Vercel - Deployment and hosting platform
- Git - Version control with conventional commits
- Middleware - Request/response interception and routing
- Server Actions - Type-safe server mutations
- Service Layer Architecture - Modular business logic separation
- Custom Hooks - Reusable state management (Zustand integration)
- Form Validation Schemas - Centralized validation logic
- Component Library - Custom UI components with shadcn/ui
- Loading States - Advanced UX with loading overlays and spinners
- Error Boundaries - Graceful error handling
- Responsive Design - Mobile-first approach
The application includes comprehensive Italian localization data:
- Regions (Regioni) - All 20 Italian regions
- Provinces (Province) - 107 provinces with geographic data
- Municipalities (Comuni) - 7,900+ Italian municipalities
Data sourced from Comuni-ITA project for accurate geographical references.
- Node.js 18+
- pnpm (recommended) or npm
- Supabase account
-
Clone the repository
git clone <repository-url> cd job-seek
-
Install dependencies
pnpm install
-
Database Setup
- Create a new Supabase project
- Run the SQL schema from
db/schema.sql - Import CSV data in order: regions → provinces → municipalities
- Configure environment variables
-
Development Server
pnpm dev
Automatic deployment with Supabase integration and environment variable configuration.
- 🔐 Authentication System - Complete user management with Supabase Auth
- 📊 Data Management - CRUD operations with real-time updates
- 🎨 Modern UI/UX - Responsive design with dark/light theme support
- 📱 Mobile-First - Progressive Web App principles
- 🛡️ Security - RLS policies and secure API endpoints
- ⚡ Performance - Optimized builds and lazy loading
- 🧪 Code Quality - ESLint, Prettier, and TypeScript strict mode
This project showcases modern full-stack development skills including React ecosystem expertise, backend integration, database design, and deployment strategies suitable for enterprise applications.