Skip to content

trashpenguin/EDP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

EDP – Event Driven Programming Final Project

A hands-on demonstration of reactive, event-based systems using Visual Basic .NET


📚 Table of Contents


About the Project

This repository contains the final project for an Event Driven Programming course. It showcases the implementation of reactive, event-based systems where the program flow is determined by events such as user actions, sensor outputs, or message passing.

The project emphasizes:

  • Loose coupling between components
  • Asynchronous event handling
  • Responsive UI design patterns

✨ Features

  • 🎯 Event-Driven Architecture – Central event loop with custom event handlers
  • 🔧 Modular Design – Separated event producers, consumers, and dispatchers
  • Asynchronous Processing – Non-blocking execution for long-running tasks
  • 🖥️ GUI Integration – User interface events drive application logic
  • 🔌 Extensible – Easy to add new event types and listeners
  • 📡 Multicast Delegates – Multiple handlers respond to the same event

🛠️ Tech Stack

Visual Basic .NET [.NET Framework] [Windows]

Technology Purpose
Visual Basic .NET Primary language with .NET event model and WinForms/WPF handlers
.NET Framework / .NET Core Runtime and event infrastructure

🚀 Getting Started

Follow these instructions to get a copy of the project up and running locally.

Prerequisites

  • Windows OS (recommended) – The project targets .NET Framework / WinForms
  • Visual Studio (2019 or later) with .NET desktop development workload
  • Basic knowledge of events, delegates, and UI programming

Installation & Running

# Clone the repository
git clone https://github.com/trashpenguin/EDP.git
cd EDP
  1. Open the solution in Visual Studio
  2. Build the project (Ctrl + Shift + B)
  3. Run the application (F5)

📁 Project Structure

EDP/
├── EDP/
│   ├── Form1.vb           # Main form / event handlers
│   ├── Program.vb         # Application entry point
│   ├── ...                # Additional modules / classes
├── .gitignore
└── README.md

💡 Usage

Once the application runs:

  1. Click buttons, type into text boxes, or trigger custom events
  2. The system logs or displays event information (e.g., "Button Click Event raised")
  3. Observe how different code parts respond to the same event via multicast delegates

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is for educational purposes as part of a final assignment. Please consult your instructor before reusing any code.


Made with ❤️ as a Final Project in Event Driven Programming

About

Final Project in event driven programming

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors