Skip to content

Network-Based Student Information Management System (Socket Programming)

Notifications You must be signed in to change notification settings

silver380/Computer-Networks-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Computer Networks Course Project

Network-Based Student Information Management System (Socket Programming)

Project Description

This project involves the design and implementation of a network-based student information management system using socket programming. The system comprises a server program and multiple client programs. The goal is to gather and exchange student information from various departments (clients) within a university and centralize it in the university-wide database (server) through network communication.

Project Components

  1. Server Program: The server program is responsible for receiving and processing student information from client programs and storing the data in a database.

  2. Client Programs (Colleges): Each client program represents a different college within the university. These client programs collect student information, including first name, last name, national ID, student ID, and grades, and send it to the server program for processing.

Project Workflow

  1. The server program prompts the admin user to input the number of colleges (departments). For example, the user enters 3 colleges.

  2. Based on the number of colleges entered, the corresponding number of client programs are created and executed.

  3. User inputs student information for each college using the client programs. The first client program collects information for the first college, the second client program for the second college, and so on.

  4. The client programs send the entered data to the server program.

  5. The server program receives and stores the data in a database.

  6. Clients can request specific information from the server using keywords:

    • Average: The server calculates the average grade of all students in each college and returns the results to the respective client.
    • Sort: The server sorts students' grades within each college in ascending order and returns the sorted list along with student IDs to the client.
    • Max: The server identifies the college with the highest average grade, sends the college name, and returns the highest average grade along with the corresponding student's name and ID to the client.
    • Min: The server identifies the college with the lowest average grade, sends the college name, and returns the lowest average grade along with the corresponding student's name and ID to the client.

Notes

Executing Files

  • server.py: The server program responsible for receiving and processing data from clients.
  • client.py: The client program(s) representing different colleges to input student information and request data from the server.
  • csv_maker.py: A utility script to generate random student information for testing purposes.

About

Network-Based Student Information Management System (Socket Programming)

Resources

Stars

Watchers

Forks

Languages