Skip to content

manuleague/PasswordManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Csharp-PasswordManager-OOP-SQLite 🔐

Limbaj Framework Bază%20de%20Date Arhitectură

📝 Descriere Generală

Acest proiect reprezintă un Manager de Parole dezvoltat ca o aplicație desktop Windows Forms (WinForms) în C# pe platforma .NET.

Obiectivul principal al aplicației este de a stoca în siguranță credențialele utilizatorului, utilizând o bază de date locală SQLite pentru persistență și implementând mecanisme robuste de securitate și arhitectură modulară.

Caracteristici Cheie

  • Interfață Grafică (GUI): Oferă o interfață simplă pentru autentificare (Login), managementul parolelor (Manager) și schimbarea parolei principale (ChangePass).
  • Securitate: Utilizează o bibliotecă dedicată pentru hashing-ul parolelor principale, asigurând că datele sensibile nu sunt stocate în format lizibil.
  • Operațiuni CRUD: Permite adăugarea, vizualizarea, modificarea și ștergerea înregistrărilor de parole.

🏗️ Arhitectura și Design Patterns

Proiectul este structurat pe principii de design avansat pentru a separa logica de business de interfața utilizator și de accesul la date:

  • Command Pattern: Operațiunile de manipulare a datelor (adăugare, ștergere, actualizare parole) sunt implementate folosind Command Pattern (e.g., AddPasswordCommand, RemovePasswordCommand, UpdatePasswordCommand), asigurând o decuplare mare și facilitând extinderea și testarea.
  • Repository Pattern: Accesul la baza de date este abstractizat prin intermediul unui Repository dedicat (PasswordRepository), care gestionează obiecte de tip PasswordEntry.
  • Module de Biblioteci: Funcționalitățile principale sunt împărțite în biblioteci DLL separate, cum ar fi DatabaseLibrary, HasherLibrary și PasswordExceptionLibrary.

⚙️ Tehnologii și Dependențe

Tehnologie Versiune/Scop
Limbaj C#
Platformă .NET 8.0 (Target: net8.0-windows)
Interfață Windows Forms (WinForms)
Bază de Date SQLite (pentru stocare locală)
ORM Entity Framework 6 (EF6)
Interfață Comandă CommandInterface.dll

🚀 Configurarea Proiectului (Visual Studio)

Proiectul a fost dezvoltat în mediul Microsoft Visual Studio.

1. Precondiții

  • IDE: Microsoft Visual Studio (versiunea 2022 sau mai nouă).
  • SDK: .NET 8.0 SDK instalat.

2. Instalare

  1. Clonare: Clonați repository-ul pe mașina locală.
    git clone [https://github.com/yourusername/Csharp-PasswordManager-OOP-SQLite.git](https://github.com/yourusername/Csharp-PasswordManager-OOP-SQLite.git)
  2. Deschidere Soluție: Deschideți fișierul soluție ManagerParole.sln în Visual Studio.
  3. Restaurare NuGet: Vizual Studio ar trebui să restaureze automat pachetele NuGet necesare (SQLite, EF6) la deschidere. Dacă nu, faceți clic dreapta pe soluție și selectați Restore NuGet Packages.

3. Rularea Aplicației

  1. Asigurați-vă că proiectul ManagerParole este setat ca Proiect de Pornire (Startup Project).
  2. Construiți soluția (Build Solution).
  3. Rulați aplicația (tasta F5 sau butonul Start).
  4. La prima pornire, aplicația ar trebui să solicite crearea unei parole principale, care va fi hashe-uită și stocată în baza de date locală passwords.db.

4. Baza de Date

Fișierul binar passwords.db va fi creat în directorul de output (e.g., ManagerParole/bin/Debug/net8.0-windows/) și conține datele securizate ale parolelor și hash-ul parolei principale.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published