Locally Access and Manage Electronic Systems (LAaMES)
By Thomas Jebson
(Created: April 2023, Updated: February 2026 - Currently Shelved)
Academic Project
Skills & Technologies Used
Supported Platforms
Links
Awards
🏆 Academic Result: 86%
About
Locally Access and Manage Electronic Systems (LAaMES) is a Python-based application
designed to provide users with a comprehensive suite of tools for managing their
local devices and systems over the network. This project was developed as part of a
Non-Exam Assessment (NEA) for my A-Level Computer Science course.
The application consists of both a server and a client component, with the server
handling the device management for multiple clients. The server is more graphically
intensive and uses Pygame to provide a visually appealing interface for managing
connected devices, On the client a more minimalistic interface is used, built with
Tkinter, to allow users to easily connect (or get 'adopted') to the server and access their devices. An SQL
lite database is
used to store adopted clients on the server.
This application offers a wide range of features as detailed below:
- Device Management: Users can add, view, and manage their connected devices. Each device can be assigned a custom name and password for secure access.
- System Information: Users can view detailed information about their system, including hardware specifications and vendor information.
- Quick Commands: A set of predefined commands that users can execute on their connected devices for quick access to common functionalities.
- Terminal Access: Users can open a terminal session to interact with their devices directly from the application.
- Process Management: Users can view and manage running processes on their connected devices.
- Hardware Graphs: Real-time graphs displaying hardware performance metrics such as CPU, memory, network, storage, GPU and GPU memory usage (however, GPU support was limited to Nvidia only) as well as fan speed, battery life and temperature on supported systems.
Credits
This game was designed and programmed by Thomas Jebson exclusively, using the following third-party assets:
Textures
- Cpu tower icons created by Good Ware - Flaticon
- Automation icons created by Becris - Flaticon
- Terminal icons created by Royyan Wijaya - Flaticon
- Computer icons created by xnimrodx - Flaticon
- Lcd icons created by Candy Design - Flaticon
- Computer icons created by Nikita Golubev - Flaticon
- Tower pc icons created by Smashicons - Flaticon
- Computer icons created by Freepik - Flaticon
- Monitor icons created by prettycons - Flaticon
- Pcb board icons created by madness - Flaticon
- Pcb board icons created by Design Circle - Flaticon
- Remote access icons created by Ranah Pixel Studio - Flaticon
- Loading icons created by Krystsina Mikhailouskaya - Flaticon
- Directory icons created by Freepik - Flaticon
- Remote desktop icons created by LAFS - Flaticon
- Plus sign icons created by Alfan Subekti - Flaticon
- Settings icons created by Freepik - Flaticon
- Search icons created by Freepik - Flaticon
- Home button icons created by Kiranshastry - Flaticon
- Micro sd card icons created by Pixel perfect - Flaticon
- Laptop icons created by prettycons - Flaticon
Reflection
Locally Access and Manage Electronic Systems (LAaMES) was developed as part of an A-Level Computer Science
Non-Exam Assessment (NEA). At this point in my life whilst studying, I was unsure on where I wanted to go
in the field of computing. I had however, set-up a home server and have a deep interest in computer hardware,
and decided to create a project that would allow me to manage my devices over the network. This assessment was
the perfect opportunity to explore this interest and develop a project that would allow me to learn more about
local networking, device management, and system administration.
This project was a great learning experience for me, as it allowed me to apply a broad range of knowledge and
skills I had gained throughout my A-Level Computer Science course and further interests in the field of computing.
This was also my first large scale software development project using
GitHub for version control and the Python
programming language for development. Both the client and server sides were developed using the Object-Oriented
Programming paradigm. I also used my prior knowledge of the Pygame and Tkinter libraries to create
the graphical user interfaces for the server and client sides of the application.
Whilst I ended up choosing a different career in computer science - going into games programming instead of
systems programming, I am still proud of the work I put into this project. The skills I gained from this project
including in project management and version control have since been used to great
success in all my future works.
Furthermore, it was during the development of this project that I really started seeing the performance
limitations of Python and the Pygame library, which ultimately helped to drive the high-performance focus of
PMMA, my flagship
project.
Development on this project has since been shelved as I plan to return to this project in the future with the
aim of replacing Pygame with my own custom graphics engine, PMMA, to improve performance and add additional
features. There is currently no timeline for this, however LAaMES remains deployed on my home server and is still
in use to this day.
Images