feat: implement Viswam internship signup page
Description
This merge request implements a two-step signup flow that separates basic registration from profile completion, along with new internship-specific profile fields and English language support.
Changes
Authentication
- Step 1 signup: Creates user with minimal fields (phone, username, name, password, consent)
-
Step 2 profile completion: New
/auth/complete-profileendpoint to add optional profile details -
Login response: Returns
TokenResponsewithuser_id,username,phone,profile_complete, androles - Email uniqueness check moved to profile completion step
User Model
- Made
gender,date_of_birth,current_placeoptional (previously required) - Added
profile_completeboolean flag - Added internship-specific fields:
-
organisation_type,work_location,rural_area_access -
permanent_postal_address,college_institution,education_category -
specific_stream,current_year_of_study,college_roll_number -
task_registered_id,internship_languages -
has_laptop,laptop_os,laptop_ram,mobile_os,mobile_ram -
internet_speed,daily_data_limit -
has_completed_ai_courses,ai_courses_list
-
- Replaced
resume_pathwithresume_record_id(FK to record table)
Database Migrations
- Adds 23 new columns to user table
- Adds English to allowed language values for records
- Drops
work_location_addresscolumn
Language Support
- Added
englishto the Language enum
Checklist
-
The feature has been fully implemented. -
Tests for the new feature are included and passing. -
User documentation/guides have been updated (if applicable). -
Impact on existing functionality has been considered.
Related Issue(s)
Closes #116 (closed)
Edited by Ahlad Pataparla