Multi-step job application form with real-time validation
Job Application Form is a full-stack application implementing a guided 3-step job application form with a progress bar and visual feedback. The Vue 3 frontend communicates with a Laravel REST API to submit applications.
- Multi-step Form β guided 3-step experience
- Progress Bar β visual indicator ("Step X of 3 completed")
- Field Validation β real-time input checking
- Feedback Modal β visual response after submission
- REST API β Laravel backend for data persistence
| Step | Fields |
|---|---|
| 1οΈβ£ Personal Info | Full name + Email |
| 2οΈβ£ Contact | Phone number + Area of interest |
| 3οΈβ£ Application | Motivation message + Terms acceptance |
Frontend
- Vue 3 β reactive framework
- Axios β HTTP client
- jQuery Validation β form validation
Backend
- Laravel (PHP) β REST API
- MySQL β database
ApplicationForm/
βββ src/
β βββ App.vue
β βββ main.js
β βββ axios.js
β βββ global.css
β βββ components/
β βββ JobApplicationForm.vue # Form orchestrator
β βββ StepOne.vue # Name + email
β βββ StepTwo.vue # Phone + area
β βββ StepThree.vue # Message + terms
β βββ BaseModal.vue # Reusable modal
βββ Back/ # Laravel API
Backend (Laravel)
cd Back
composer install
cp .env.example .env
php artisan key:generate
php artisan migrate
php artisan serveFrontend (Vue 3)
npm install
npm run serveOpen http://localhost:8080 in your browser.
POST http://127.0.0.1:8000/api/candidaturas
{
"nome": "John Doe",
"email": "john@example.com",
"telefone": "912345678",
"area": "Web Development",
"mensagem": "I am interested in..."
}