https://github.com/feder-cr/advancedprogrammingtechniquesproject
https://github.com/feder-cr/advancedprogrammingtechniquesproject
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/feder-cr/advancedprogrammingtechniquesproject
- Owner: feder-cr
- Created: 2024-02-15T19:53:12.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-15T20:26:38.000Z (almost 2 years ago)
- Last Synced: 2025-03-28T10:47:21.612Z (10 months ago)
- Language: C#
- Size: 33.2 KB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
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.