Frontend application for the CodeLeap technical challenge.
Public URL:
Runtime and package manager:
- Node.js: 24.x
- npm: 10+
Main dependencies used in this project:
- React: ^19.2.0
- React DOM: ^19.2.0
- React Router DOM: ^7.13.1
- TanStack React Query: ^5.90.21
- Vite: ^7.3.1
- TypeScript: ~5.9.3
- Vitest: ^4.0.18
- date-fns: ^4.1.0
- React + TypeScript + Vite
- TanStack React Query
- CSS Modules
- Vitest + Testing Library
The codebase follows a 4-layer clean architecture:
src/domain: entities, value objects, portssrc/application: use casessrc/infrastructure: API adapterssrc/presentation: pages, components, hooks, providers
Shared abstractions stay in src/shared.
npm run dev: starts development servernpm run build: type-checks and builds production bundlenpm run preview: serves the production build locallynpm run test: runs unit tests oncenpm run test:watch: runs tests in watch modenpm run lint: runs ESLint
- Install dependencies:
npm install- Start development server:
npm run dev- Build for production:
npm run build- Preview production build:
npm run previewvercel.json is configured for a Vite SPA deployment, including rewrite fallback to index.html for React Router.
- Push the repository to GitHub.
- In Vercel, click
Add New Projectand import the GitHub repository. - Confirm settings:
- Framework Preset:
Vite - Build Command:
npm run build - Output Directory:
dist
- Deploy.
- Open the generated public URL and validate:
- Signup and main routes load correctly after refresh
- CRUD operations work against
https://dev.codeleap.co.uk/careers/ - Browser network tab shows successful CORS requests
Base URL used by the adapter:
https://dev.codeleap.co.uk/careers/
Trailing slash is enforced in all requests to avoid CORS/path issues.