Skip to content

mpasgat/Projects

Repository files navigation

Project Portfolio

A collection of programming projects demonstrating proficiency in multiple languages and software development concepts.

🎯 Overview

This portfolio contains four diverse projects showcasing skills in C, C++, and Java programming languages, along with various software design patterns and data structures.


📁 Projects

1. 🏈 Sports Team Management System

Language: C
Size: 7.6KB, 161 lines

A comprehensive team management application for sports organizations that handles player data and team operations.

Key Features:

  • Player Management: Add, delete, update, and search players
  • Data Validation: Input validation for player IDs, names, ages, and statistics
  • Position Tracking: Support for Goalkeeper, Defender, Midfielder, and Forward positions
  • File I/O: Reads from input.txt and writes results to output.txt
  • Error Handling: Comprehensive input validation and error reporting

Technical Skills:

  • C Programming
  • Data Structures
  • File I/O Operations
  • Input Validation
  • Error Handling
  • String Manipulation

2. 🏦 Simplified Banking System

Language: Java
Size: 18KB, 467 lines

A sophisticated banking application implementing real-world banking operations with multiple account types and advanced features.

Key Features:

  • Account Types: Savings, Checking, and Business accounts with different fee structures
  • Banking Operations: Create accounts, deposits, withdrawals, transfers
  • State Management: Active/inactive account states
  • Transaction Fees: Strategy pattern for different fee calculations
  • Design Patterns: Singleton, Strategy, Facade, and State patterns
  • Transaction History: Complete audit trail of all operations

Technical Skills:

  • Java Programming
  • Object-Oriented Programming
  • Design Patterns (Strategy, Singleton, Facade, State)
  • Data Structures (HashMap, ArrayList)
  • Exception Handling
  • System Architecture

3. 📚 Online Book Store

Language: Java
Size: 9.8KB, 301 lines

A digital bookstore platform with user management, subscription systems, and access control features.

Key Features:

  • User Management: Standard and Premium user types with different access levels
  • Book Operations: Create, read, and update book information
  • Subscription System: Observer pattern for price update notifications
  • Access Control: Proxy pattern for managing user permissions
  • Premium Features: Audiobook access for premium users
  • Factory Pattern: Dynamic user creation based on type

Technical Skills:

  • Java Programming
  • Design Patterns (Observer, Proxy, Factory)
  • User Management Systems
  • Access Control
  • Notification Systems
  • Data Persistence

4. ⚔️ Medieval Fantasy Story Simulation

Language: C++
Size: 23KB, 752 lines

An interactive story simulation system creating dynamic medieval fantasy scenarios with characters, combat, and magical elements.

Key Features:

  • Character Classes: Fighter, Archer, and Wizard with unique abilities
  • Inventory System: Weapons, potions, and spells management
  • Combat Mechanics: Damage calculation and health tracking
  • Magic System: Spell casting with target validation
  • Memory Management: Smart pointers for automatic memory management
  • Template System: Generic container classes for different item types

Technical Skills:

  • C++ Programming
  • Object-Oriented Programming
  • Smart Pointers
  • Templates
  • Memory Management
  • Game Logic Design
  • Inheritance and Polymorphism

🛠️ Technical Competencies

Programming Languages

  • C - Systems programming, memory management
  • C++ - Object-oriented programming, templates, smart pointers
  • Java - Enterprise-level applications, design patterns

Software Design

  • Design Patterns: Strategy, Singleton, Facade, State, Observer, Proxy, Factory
  • Object-Oriented Programming: Inheritance, polymorphism, encapsulation
  • System Architecture: Modular design, separation of concerns

Data Structures & Algorithms

  • Data Structures: Arrays, HashMaps, Lists, Vectors, Custom structures
  • Memory Management: Smart pointers, manual memory allocation
  • File Operations: Reading/writing files, data persistence

Development Practices

  • Input Validation: Comprehensive error checking and data integrity
  • Error Handling: Robust exception handling and error reporting
  • Code Organization: Clean, maintainable, and well-documented code

🚀 Getting Started

Each project is self-contained and can be compiled/run independently:

C Projects

# Sports Team Management System
gcc "Sports Team Management System.c" -o sports_management
./sports_management

Java Projects

# Banking System
javac Simplified\ Banking\ System.java
java taskb

# Book Store
javac "Online Book Store.java"
java yes

C++ Projects

# Medieval Fantasy Simulation
g++ "Simulation of a medieval fantasy story.cpp" -o fantasy_simulation
./fantasy_simulation

📊 Project Statistics

Project Language Lines Size Complexity
Sports Team Management C 161 7.6KB Medium
Banking System Java 467 18KB High
Book Store Java 301 9.8KB Medium
Fantasy Simulation C++ 752 23KB High

🎯 Learning Outcomes

These projects demonstrate:

  • Multi-language proficiency across different programming paradigms
  • Software design principles and architectural patterns
  • Problem-solving skills in diverse domains (gaming, finance, e-commerce, sports)
  • Code quality with proper error handling and validation
  • Scalable design using industry-standard patterns and practices

This portfolio showcases a strong foundation in software development with practical applications across multiple domains and programming languages.

About

My portfolio

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published