Skip to main content

DEVision Platform

Vietnamese tradition emphasizes the proverb “An Cư Lạc Nghiệp” (Settled and Flourished), highlighting the necessity of establishing a solid and fulfilling career as the foundation for prosperity and personal happiness. DEVision was created to embody this principle by bridging job applicants in the Computer Science fields with their potential employers.

Platform Goals

Our primary goals are to:
  1. Empower Applicants - Help job seekers find roles that align with their technical skills and career aspirations
  2. Assist Companies - Enable organizations to attract top talents that match their specific technical demands and long-term vision

System Architecture

DEVision is architected into two core subsystems:

Job Applicant Subsystem

Provides tools for career advancement, job search, and application management

Job Manager Subsystem

Platform for companies to manage recruitment and search for candidates

Saint Giong Team - Job Manager Subsystem

SGJM Team is responsible for developing the Job Manager Subsystem, which serves companies in their recruitment efforts.

Core Capabilities

1. Company Management

  • Secure registration and authentication
  • Single Sign-On (SSO) support
  • Comprehensive profile management
  • Media uploads (logos, images, videos)

2. Job Post Management

  • Create and publish job listings
  • Manage employment types and requirements
  • Tag technical skills and competencies
  • Track applications (Pending/Archived)
  • Search applicants by location, education, and experience
  • Full-text search across profiles
  • Filter by technical skills
  • Lazy loading for optimal performance

4. Premium Features

  • Monthly subscription service ($30/month)
  • Real-time notifications for matching candidates
  • Define custom applicant search profiles
  • Automatic candidate matching via Kafka messaging

5. Payment Integration

  • Secure payment processing
  • Third-party integration (Stripe/PayPal)
  • Transaction recording and management

Integration with Job Applicant Subsystem

SGJM ↔ SGJA CollaborationTeam SGJM (Saint Giong Job Manager) and Team SGJA (Saint Giong Job Applicant) work together within the Saint Giong Squad to deliver the complete DEVision platform.Coordination Team:
  • Phuc Vo (SGJM Primary Coordinator)
  • Tung Nguyen (SGJM Secondary Coordinator)

APIs We Provide to SGJA

  1. Company Public Profile Data - Company information for job listings
  2. Job Post Data - Available positions and requirements
  3. Subscription Payment API - Shared payment service for both subsystems
  4. Authorization Services - Cross-system authentication when applicable

APIs We Consume from SGJA

  1. Applicant Profile Data - Job seeker information for search functionality
  2. Job Application API - Application submissions and tracking
  3. Authorization Services - Cross-system authentication when applicable

Shared Components

  • Payment Service - Developed by SGJM team, used by both subsystems
  • Kafka Topics - Shared messaging for real-time notifications
  • Database Sharding Strategy - Coordinated across both subsystems

Development Methodology

All teams must follow professional software development practices as outlined in the requirements.

Collaborative Development

  • Methodology: SCRUM or Kanban
  • Tools: Tuturuuu Kanban board for task management
  • Reviews: Bi-weekly sprint reviews with the lecturer

Key Practices

  • Iterative development approach
  • Frequent GitHub commits
  • Professional communication
  • Active participation in meetings

Meeting Policy

  • Attendance is mandatory
  • 24-hour advance notice required for absences
  • Valid justification and evidence required
  • Penalties for unexcused absences

Project Milestones

Milestone 1 - November 28, 2025

Deliverables:
  • Conceptual Data Model (ER Diagram)
  • System Architecture Diagrams
  • 30-page Technical Report
  • GitHub contribution proof
Key Requirements:
  • Design data model with justifications
  • Create architecture diagrams (UML or C4)
  • Present system design decisions
  • Demonstrate frequent GitHub usage

Milestone 2 - January 13, 2026

Deliverables:
  • Fully implemented system
  • Deployed application (Docker/Kubernetes)
  • API integration with Job Applicant subsystem
  • Database initialization scripts
Key Requirements:
  • Implement all functional requirements
  • Deploy using Docker or Kubernetes
  • Provide and consume APIs
  • Demo integrated system

Initial Data Requirements

The system must be initialized with:

Administrator

  • One ADMIN account for system management

Companies

  • 2 Freemium accounts (2 job posts each)
  • 2 Premium accounts with specific subscriptions:
    • Software Engineer hiring (React, Spring Boot, Docker)
    • Data Engineer hiring (Python, AWS, Snowflake)

Applicants

  • 5 APPLICANT accounts
    • 2 from Vietnam, 2 from Singapore, 1 from another nation
    • 2 Premium accounts (one from Vietnam, one from Singapore)

Architecture Complexity Levels

Simplex (Basic)

  • N-Tier (Layer-based) architecture
  • Frontend and backend separation
  • Repository layer for queries
  • Basic authentication and features

Medium

  • Modular Monolith backend
  • Componentized frontend
  • Internal/External APIs
  • REST HTTP Helper classes
  • Advanced validation and security

Ultimo (Advanced)

  • Microservices architecture
  • Headless UI components
  • Kafka message broker
  • Database sharding
  • Service discovery and API Gateway
  • Kubernetes deployment (bonus)

Design Evaluation Criteria

All architectural decisions should be evaluated on:
  1. Maintainability - Easy to understand, update, and test
  2. Extensibility - New features added with minimal impact
  3. Resilience - Continues functioning under unexpected conditions
  4. Scalability - Handles increased load efficiently
  5. Security - Protected from unauthorized access and threats
  6. Performance - Quick and efficient response to requests

Course Information

  • Course: EEET2582/ISYS3461
  • Project: Software Requirements Specification v1.1
  • Institution: RMIT University
  • Classification: RMIT Protected
This project is part of the Software Engineering curriculum at RMIT University and follows strict academic and professional standards.