Skip to content

aboubakr-jelloulat/Dot-Net-Tiered-Architecture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

Contacts Management System

C# Visual Studio .Net MicrosoftSQLServer

A production-ready contact management system implementing clean 3-tier architecture with C# and SQL Server.

Architecture

┌─────────────────────────────────────────────┐
│    ConsoleApp-PresentationLayer            │  ← User Interface
├─────────────────────────────────────────────┤
│    ContactsBusinessLayer                   │  ← Business Logic
├─────────────────────────────────────────────┤
│    ContactsDataAccessLayer                 │  ← Data Persistence
└─────────────────────────────────────────────┘

Project Structure

contacts-management-system/
├── ConsoleApp-PresentationLayer/
│   ├── Program.cs
├── ContactsBusinessLayer/
│   ├── Contacts.cs
├── ContactsDataAccessLayer/
│   ├── ContactsDataAccess.cs
│   ├── Dataacces_Helper.cs

└── README.md

Features

  • Clean Architecture: Strict separation of concerns
  • SOLID Principles: Maintainable and extensible codebase
  • Database Integration: Full CRUD operations with SQL Server
  • Error Handling: Comprehensive exception management
  • Scalable Design: Easy to extend and modify

Tech Stack

Layer Technology
Presentation C# Console Application
Business C# Class Library
Data Access ADO.NET + SQL Server
Development Visual Studio 2022

Quick Start

# Clone the repository

git clone https://github.com/aboubakr-jelloulat/Dot-Net-Tiered-Architecture.git

# Open in Visual Studio
cd contacts-management-system
start ContactsManagementSystem.sln

# Build and run
dotnet build
dotnet run --project ConsoleApp-PresentationLayer

Dependencies

ConsoleApp-PresentationLayer
    │
    └── ContactsBusinessLayer
            │
            └── ContactsDataAccessLayer

Architecture Benefits

Benefit Description
Maintainability Single responsibility per layer
Testability Independent layer testing
Scalability Easy feature additions
Flexibility Technology-agnostic design

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open a Pull Request
Built with ❤️ by Software Engineers

About

A comprehensive contacts management system built with C# following a clean 3-tier architecture pattern. This project demonstrates enterprise-level software design principles with clear separation of concerns across presentation, business logic, and data access layers

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages