University project of the course "TECNICHE AVANZATE DI PROGRAMMAZIONE" of the computer science university of Genoa
This project implemented core functionality for an online auction site.
-
User account management
-
Secure password hashing and salting
-
Account creation, login, sessions
-
-
Auction hosting
-
Creating, bidding, ending auctions
-
Winner selection, current highest bid
-
Automatic cleanup of expired data
-
-
Multiple site support
-
Isolated sites with separate users, auctions
-
Site management interfaces
-
-
Background process
-
Sessions, auctions expiring automatically
-
Robust exception handling
-
-
C#
-
Object-oriented design principles
-
Entity Framework Core for database access
-
-
SQL Server database
-
Unit testing
Through this project I gained experience with:
-
Building a complex system across multiple layers (business logic, data access, database)
-
Modeling complex processes into classes and methods
-
Handling concurrency issues with shared data
-
Designing intuitive interfaces and abstractions
-
Testing business logic code paths
This project shows my ability to take on significant programming challenges using languages like C# and following standard software engineering practices. The auction site logic demonstrates skills in areas like security, robustness, maintainability that are valuable across many software roles.