Skip to content

feat: implement Viswam internship signup page

Ahlad Pataparla requested to merge feat/signup-viswam into develop

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-profile endpoint to add optional profile details
  • Login response: Returns TokenResponse with user_id, username, phone, profile_complete, and roles
  • Email uniqueness check moved to profile completion step

User Model

  • Made gender, date_of_birth, current_place optional (previously required)
  • Added profile_complete boolean 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_path with resume_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_address column

Language Support

  • Added english to 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

Merge request reports

Loading