Academic Projects · B-Tech Year 2

SAE 3.02 — Runker (Load Balancer)

Client/server application for distributed code execution

  • Python
  • SSL/TLS
  • Sockets
  • PyQt6
  • Multiprocessing

Context

Development project for a communicating application enabling code execution on remote servers with load balancing across multiple nodes.

In detail

Technologies

  • Python
  • SSL/TLS
  • Sockets
  • PyQt6
  • Multiprocessing

My role

Complete development of client/server architecture

Architecture

  • Master server (proxy between clients and nodes)
  • Execution nodes (workers)
  • PyQt6 GUI client
  • Secure SSL communication

Achievements

  • Secure SSL control connection
  • Data server with encryption
  • Load balancing between nodes
  • Graphical user interface
  • Multi-language support (Python, C, C++, Java)

Skills

  • Advanced network programming
  • Communication security
  • Distributed architecture
  • GUI development

Resources

  • Video demonstration available
  • GitHub: https://github.com/fnyaker/LoadBalancer_SAE3.2
National curriculum
Critical learning outcomes
  • AC21.06 | Work as a team to develop professional skills
  • AC22.05 | Ability to question an R&T specification
  • AC23.02 | Develop an application from a given specification, for Web or mobile devices
  • AC23.03 | Use a network protocol to program a client/server application
  • AC23.04 | Install, administer a data management system
  • AC23.05 | Access a dataset from an application and/or website
Essential components
  • CE1.01 | by choosing appropriate network solutions and technologies
  • CE1.02 | by respecting fundamental IT security principles
  • CE2.01 | by communicating with the client and the various stakeholders involved, sometimes in English
  • CE3.01 | by listening to client needs
  • CE3.02 | by documenting the work done
  • CE3.03 | by using digital tools wisely
  • CE3.04 | by choosing appropriate development tools
  • CE3.05 | by integrating security issues
Mobilized and combined resources
  • R3.08 | Programming consolidation
  • R3.09 | Event-driven programming
  • R3.10 | Database system management
  • R3.11 | Professional English 1
  • R3.12 | Professional Expression-Culture-Communication: Knowing how to collaborate
  • R3.13 | Personal and Professional Project
  • R3.15 | Project management 2: Using project management methods
Targeted competencies
  • Administer networks and the Internet
  • Connect companies and users
  • Create IT tools and applications for R&T