Skip to content

ECE4500-SU23-ProjectGroup05/Software-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Software Management System

License Python3Version DjangoVersion

The Software Monitoring & Management System, part of the Capstone Design Project (Group05) of SJTU UMJI.

Capstone Design Project

Our capstone design focuses on developing comprehensive solutions for managing information security in large-scale multinational corporations.

Our project involves designing and implementing the system to ensure the security and integrity of data, software, and networks in the manufacturing domain within the organization.

Table of Contents

Overview

In many organizations, managing software and patches installations and updates is a complex task and a critical part of business administration.

The Software Monitoring & Management System (SMMS) provides a comprehensive solution to track and manage software and on client devices. It allows managers to monitor and control software authorization and ensure that all devices have the latest security patches installed.

The SMMS also incorporates a malware detection function in admin interface to further enhance the security of the organization's assets.

Objective

Out system aims at ensuring the security and authorization of all software and patches installed on terminal devices (i.e., clients) within a company. The primary goal is to eliminate potential risks and vulnerabilities that could compromise the company's assets.

Features

  • Software Tracking & Management

    The system allows administrators to track and manage software installations on client devices and provides real-time insights into the software installed on each device.

  • Security Patch Monitoring

    The system can monitor the security patch status of client devices, automatically detect outdated patches, and notify administrators to apply the latest updates promptly.

  • Authorization Control

    The system ensures that unauthorized software and outdated security patches installed on client devices are reported to the managers, reducing potential vulnerabilities.

  • Malware Detection Function

    The system incorporates a malware detection function that allows users to upload executable files for safety analysis. It employs RCNN to detect potential malware and security threats.

  • Remote Web Access

    The server provides a secure web interface that allows users and managers to access the server from anywhere with proper authentication. (SMMS is deployed on LAN by default)

  • User-Friendly Interface

    The admin web interface is designed with a user-friendly approach, making it intuitive and easy to navigate. Even non-technical users can quickly learn to use it effectively.

  • Data Security and Privacy

    The system prioritizes data security and privacy. It employs encryption and access control mechanisms to safeguard sensitive information.

  • Scalable and Customizable

    The SMMS is designed to be scalable and customizable, enabling easy integration with existing software and systems. Organizations can tailor the system to suit their specific needs and scale it according to their requirements.

Usage

To effectively use the Software Monitoring & Management System (SMMS), please follow these steps:

  1. Start the Server
    • Follow the instructions provided in the server-side README to set up the SMMS server on your machine.
    • Ensure that the server is running and ready to accept connections from client devices.
  2. Start the Clients
    • Refer to the client-side README for instructions on setting up the SMMS client application on individual client devices.
    • Make sure the clients are connected to the same Local Area Network (LAN) as the server.

==Note: Please refer to the corresponding client and server pages for details.==

Screenshots

Server Admin Web UI

image-20230727175613278

image-20230727180330395

image-20230727175907928

image-20230727210011947

image-20230727154818936

Client Executable

image-20230727224818293

Malware Detection

image-20230727225226264

Email Notification

image-20230727181111906

Getting Started

To get started with the Software Monitoring & Management System (SMMS), please follow these steps:

  1. Clone the Repository

    • Clone the SMMS server-side repository from GitHub using the following command:

      git clone https://github.com/ECE4500-SU23-ProjectGroup05/server_side.git
    • Clone the SMMS client-side repository from GitHub using the following command:

      git clone https://github.com/ECE4500-SU23-ProjectGroup05/client_side.git
  2. Install Python

  3. Install Required Packages (Server-side)

    • Navigate to the server_side folder in the terminal or command prompt and install the necessary Python packages by running:

      pip install -r requirements.txt
  4. Install Required Packages (Client-side)

    • Navigate to the client_side folder in the terminal or command prompt and install the necessary Python packages by running:

      pip install -r requirements.txt
  5. Check Router Settings (Server-side)

    • Ensure that your router's settings do not have "AP isolation" enabled. This setting may prevent client devices from connecting to the server.
  6. Configure Firewall Settings (Server-side)

    • Before running the server, ensure that your computer's firewall allows Python to receive incoming connections from both Local Area Network (LAN) and Wide Area Network (WAN).

    • Firewall settings may vary based on the operating system you are using. Please refer to your OS documentation or system settings to configure the firewall properly.

  7. Find Your IPv4 Address (Server-side)

    • Open the terminal or command prompt and find your computer's IPv4 address using the following command:

      ipconfig /all
    • Locate the IPv4 Address in the output.

  8. Start the SMMS Server (Server-side)

    • In the server_side folder, run the SMMS server on your server machine by executing the following command:

      python manage.py runserver YOUR_IPV4_ADDRESS:8000
    • Replace YOUR_IPV4_ADDRESS with your actual IPv4 address obtained from Step 7. The server will start running on port 8000.

    • Make sure the port (8000 in this example) is not blocked by any firewall or network settings.

  9. Access the Web UI (Server-side)

    • The SMMS web interface enables convenient software management and client device monitoring from any device within the LAN using the server's IP address and port.

    • Open your preferred web browser and enter the IP address and port of the SMMS server (e.g., http://192.168.31.236:8000).

  10. Run the SMMS Client (Client-side)

    • Follow the instructions provided in the "Run the Client Application" section of the "Usage" instructions above to start the SMMS client on each client device.

Congratulations! You have successfully set up and started using the Software Monitoring & Management System (SMMS). Enjoy the benefits of efficiently tracking, managing, and controlling software and patches on your client devices within the organization.

Requirements

  • Python >= 3.6
  • Django framework
  • Database (SQLite3 by default)
  • Other dependencies (refer to requirements.txt for the complete list)

Contributing

Contributions to the Software Management System are welcome! If you find any issues or have suggestions for improvement, feel free to open an issue or submit a pull request.

Guidelines [How to contribute] for pull requests and code contributions.

License

The Software Management System is open-source software licensed under the MIT License - see the LICENSE file for details.

Be sure to preserve the copyright when in using.

Acknowledgments

Special thanks to all contributors who have helped in the development of this system. Our Capstone Design Project is sponsored by UAES.

Links to sub-projects


Note: This README provides an overview of the Software Monitoring & Management System. For detailed installation and usage instructions, please refer to the sub-project documentation.