This repository contains projects related to software engineering, systems programming, backend development, data structures, and applied problem-solving.
The work in this repository reflects my ongoing development as a Software Engineering student, with projects built in C, C++, Java, and C#. The projects focus on programming fundamentals, object-oriented design, data structures, backend API development, and practical software systems.
- Backend software development
- Object-oriented programming
- Data structures and algorithms
- Systems-level problem solving
- API design and database integration
- Console-based application development
- Modular software design
- File processing and data management
A backend API project for managing customer accounts, purchase transactions, rewards points, and loyalty-style ledger tracking.
This project is designed to demonstrate backend engineering concepts such as REST API design, database persistence, customer lifecycle management, transaction processing, validation, and points ledger tracking.
Current features:
- ASP.NET Core Web API
- Swagger/OpenAPI testing
- SQLite database with Entity Framework Core
- Customer creation, update, deactivation, and reactivation
- Purchase transaction processing
- Duplicate transaction protection
- Points calculation from purchases
- Points ledger history
- Customer points balance lookup
- Promotion rules engine
- Reward redemption system
Planned features:
- Unit testing
- Docker support
- GitHub Actions CI pipeline
Key concepts used:
- C#
- ASP.NET Core
- Entity Framework Core
- SQLite
- REST APIs
- DTOs
- Controllers
- Database migrations
- Backend validation
- Ledger-based state tracking
A command-line application that simulates a rideshare system, including ride pricing, trip duration estimation, and operational metrics.
Key concepts used:
- Structured data (
struct) - Modular programming
- Randomized simulation
- Aggregation of system metrics
- Input validation
- Queue-style ride processing
A console-based application that tracks athlete mileage across multiple training days and generates statistical training reports.
Key concepts used:
- Multidimensional arrays
- Modular function design
- Nested loops
- Statistical calculations
- Report generation
- Input validation
An object-oriented application demonstrating inheritance and encapsulation through employee and production worker classes.
Key concepts used:
- Classes and objects
- Inheritance
- Constructors
- Getters and setters
- Encapsulation
- Object-oriented programming fundamentals
A Java application implementing custom generic stack structures and stack-based algorithms. The project includes stack merging, duplicate detection, and second-largest value calculations using reusable generic methods.
Key concepts used:
- Generic programming
- Stack data structures
- Algorithms
- Reusable methods
- Object-oriented programming
- Data processing
A Java application that manages and organizes travel destinations using custom singly and doubly linked lists. The program sorts destinations, removes categories dynamically, and displays itineraries in reverse order.
Key concepts used:
- Singly linked lists
- Doubly linked lists
- Custom node structures
- Dynamic data management
- Sorting logic
- Object-oriented programming
- C#
- ASP.NET Core
- Entity Framework Core
- SQLite
- C
- C++
- Java
- SQL
- Git
- Swagger/OpenAPI
- Visual Studio Code
This repository serves as a portfolio of my software engineering growth. It includes foundational programming projects, data structure implementations, simulations, and backend development work.
My goal is to continue improving this repository by expanding beyond coursework into more complete software systems with stronger architecture, testing, documentation, and deployment practices.