University project of the course "TECNICHE AVANZATE DI PROGRAMMAZIONE" of the computer science university of Genoa

Online Auction Site

This project implemented core functionality for an online auction site.

Key Features

  • 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

Key Technologies

  • C#

    • Object-oriented design principles

    • Entity Framework Core for database access

  • SQL Server database

  • Unit testing

What I Learned

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.