University Projects & Security Tool Development

Overview of University Projects and Tool Development

Here, I present both my key university projects and the cybersecurity tools I’ve developed independently. Each of these initiatives has allowed me to sharpen my programming skills, deepen my understanding of cybersecurity, and explore new technologies.

Let's first start exploring my university projects and then my personal projects in cybersecurity.

University Management App

Collaborating with a university peer, we embarked on the development of a comprehensive university management application. The project covers a variety of modules, from student registration to course tracking and administrative management. Though we haven't deployed the application yet, the experience has provided invaluable lessons in project management, team collaboration, and agile development. We've explored essential phases, including:

Conception

Conception

Leveraging UML diagrams to design and model system functionalities.

 

Planning

Planning

Using Jira for effective sprint planning and task distribution.

Development

Development

Implementing the backend logic using Java and integrating various packages for form handling and database management.

Screenshots of the login page and database provided below

Quiz Web Application

Quiz Web Application

One of the first projects I independently developed was a quiz web application. This project allowed me to delve into front-end technologies such as HTML, CSS, JavaScript and XML/Json. The website automatically calculates the user's score based on correct answers and displays it at the end of the quiz, providing instant feedback.

Technology Stack: HTML, CSS, JavaScript, XML/Json
Key Features: Timed quizzes, instant score feedback, dynamic response handling.

This project has been deployed and is fully functional.

Graph Algorithm Calculator

Graph Algorithm Calculator

A highly significant project involved developing an automatic graph calculation tool. This program allows users to input matrices (directed/undirected, weighted/unweighted, adjacency/incidence) and outputs vital graph properties, such as connectivity, maximum spanning trees, and shortest paths. The tool, which spans over 800 lines of Python code, can automatically compute the most efficient spanning tree, calculate connectivity, isomorphism,eulerienism ... and find the shortest path. This project has greatly expanded my understanding of graph theory and algorithm design.

Key algorithms implemented include:
Prim’s Algorithm
Kruskal’s Algorithm
Bellman-Ford Algorithm

Here are the screenshots of the project's output.

Roulette Game

Roulette Game

This project involved creating a roulette game in Python, where players place bets and spin the wheel to test their luck. Although a smaller project, it played a key role in my early development, honing my logical thinking and problem-solving skills.


Cybesecurity, Automation & Tool Development - Personal

Beyond my academic projects, I’ve pursued independent tool development to enhance my skills in programming and cybersecurity. Each serving as a practical exercise in applying theoretical concepts and exploring new technologies. Below are some of the key tools I’ve created, which have helped me refine my expertise in various domains.

Student Management System

Student Management System

I developed a student management system for a local school. This tool simplifies the process of managing student enrollments, grades, and records. Built with Python and utilizing Tkinter for the graphical interface, the system connects to a MySQL database, allowing users to easily input and access student data. This project not only helped me refine my skills in database management but also in building intuitive, user-friendly desktop applications.

Technology Stack: Python, Tkinter, MySQL
Key Features: Student registration, grade management, organized record-keeping.

Here are the screenshots of the login interface and the student grade management system.

Grade Calculator - For Classmates (moy_calculator)

Grade Calculator - For Classmates (moy_calculator)

One of my most appreciated personal tools is the Grade Calculator I developed for my classmates. Faced with the recurring need to calculate grades at the end of each semester,due to the delay in the publication of results by the administration, I created an automated solution using Python. The tool was designed to handle the intricacies of various grading systems and produce reliable results and detailed report cards in no time. This project was a hit among my classmates, who actively used it to track their progress.

Technology Used: Python (300+ lines of code)
Development Time: 24 hours
Version: 2.0, introducing new features for handling different weightings and grading criteria.(last semester)

Shared with Classmates - moy_calculator v1.0 & v2.0

Cryptography, Brute Force and Ransomware Development

Cryptography, Brute Force and Ransomware Development

To hone my cryptography skills, I’ve developed various tools, including a Caesar Cipher implementation, an AES-256-bit encryption tool, and a brute force script. The brute force script was particularly useful in understanding how to systematically test multiple password combinations and break simple encryption schemes.

Brute Force Script: Created to simulate password cracking by automatically trying different combinations to break weak security protocols in no time.
Technology Stack: Python
Use Case: This tool helped me grasp the importance of strong passwords,password security, and data protection, as well as how attackers exploit weak authentication mechanisms.

These projects are part of my ongoing preparation for creating more complex tools, like a fully functional ransomware in C/C++. The encryption tools and brute force exercises have been crucial for developing a deeper understanding of modern cryptographic techniques and attack strategies.

Automated Mail Sender

Automated Mail Sender

To improve my automation skills, I developed an automated mail sender using Python. This tool streamlines the process of sending emails, making it highly efficient for different tasks. It integrates seamlessly with email servers, allowing the user to personalize each message while automating the sending process.

Technology Stack: Python with SMTP library integration.
Use Case: Useful for both academic and personal purposes, the tool sends multiple emails with custom content to different recipients efficiently.

This project helped me enhance my understanding of email protocols, automation, and scripting while offering practical solutions for managing communication tasks.

A Journey of Growth, Innovation, and Dedication

In conclusion, my journey through university projects and personal tool development reflects my deep commitment to learning and my passion for innovation. Each challenge I’ve encountered has been an opportunity to grow, both as a student and an aspiring cybersecurity professional. From creating practical tools that assist my classmates, to developing security algorithms and expanding my knowledge of programming, I’ve always been driven by a desire to not only improve my own skills but to help others in the process.

Though I still have much to learn, my curiosity and perseverance push me forward every day. I am eager to continue honing my abilities, exploring new technologies, and contributing to solutions that enhance digital security. Whether it’s through collaboration or independent work, I remain focused on making a positive impact, driven by the belief that with dedication and a willingness to learn, we can all contribute to a safer and more innovative digital world.