WonderLynx is a CRUD application for managing references built with .NET 8.0 and C# 12. The main goal of this project is to increase author's knowledge of the technologies used in production environments as well as best practices for writing code.
- SQL Server Management Studio (SSMS): Zum Verwalten der Datenbank.
- Visual Studio 2022: Für die Entwicklung und Ausführung des Projekts.
- .NET 8.0 SDK: Muss installiert sein, um das Projekt auszuführen.
- Datenbank erstellen:
- Öffne SQL Server Management Studio (SSMS).
- Verbinde dich mit deinem SQL Server.
- Erstelle eine neue Datenbank mit dem SQL-Skript:
CREATE DATABASE WonderLynx;
USE WonderLynx;
CREATE TABLE Categories (
CategoryId INT PRIMARY KEY IDENTITY,
Name NVARCHAR(100) NOT NULL
);
CREATE TABLE Tags (
TagId INT PRIMARY KEY IDENTITY,
Name NVARCHAR(100) NOT NULL
);
CREATE TABLE Types (
TypeId INT PRIMARY KEY IDENTITY,
Name NVARCHAR(100) NOT NULL
);
CREATE TABLE ReferenceItems (
ReferenceId INT PRIMARY KEY IDENTITY,
Title NVARCHAR(200) NOT NULL,
Subtitle NVARCHAR(200) NULL,
TypeId INT FOREIGN KEY REFERENCES Types(TypeId),
CategoryId INT FOREIGN KEY REFERENCES Categories(CategoryId),
Description NVARCHAR(MAX) NULL,
ThumbnailUrl NVARCHAR(200) NULL
);
CREATE TABLE ReferenceTags (
ReferenceId INT FOREIGN KEY REFERENCES ReferenceItems(ReferenceId),
TagId INT FOREIGN KEY REFERENCES Tags(TagId),
PRIMARY KEY (ReferenceId, TagId)
);
-
Datenbankverbindung konfigurieren:
- Öffne das Projekt in Visual Studio.
- Bearbeite die
appsettings.json
-Datei imAPI
-Projekt, um die Verbindungszeichenfolge zur Datenbank zu konfigurieren:
"ConnectionStrings": { "DefaultConnection": "Server=your_server_name;Database=WonderLynx;Trusted_Connection=True;" }
-
Abhängigkeiten wiederherstellen:
- Öffne das
API
-Projekt in Visual Studio. - Stelle sicher, dass alle notwendigen Pakete installiert sind, indem du
dotnet restore
ausführst oder das Projekt einfach in Visual Studio baust.
- Öffne das
-
Migrationen anwenden (falls erforderlich):
- Öffne die Package Manager Console in Visual Studio.
- Führe
Update-Database
aus, um alle Migrationen anzuwenden.
-
Projekt starten:
- Drücke
F5
oder klicke aufStart
, um die Anwendung auszuführen. - Die Anwendung wird gestartet und ist unter
https://localhost:7265
verfügbar.
- Drücke
Verwende Swagger UI, um die verfügbaren API-Endpunkte zu durchsuchen und zu testen:
- Authentifizierung und Autorisierung:
- Falls benötigt, implementiere und konfiguriere die Authentifizierung (z.B. JWT oder OAuth).
The project is in a stable state, but there are several opportunities for enhancement and expansion:
-
Containerization:
- Dockerize the application to facilitate consistent and portable deployments across various environments.
-
Deployment:
- Deploy the application and its database to Azure Cloud for scalability and improved reliability.
- Implement Azure DevOps pipelines to automate Continuous Integration and Continuous Deployment (CI/CD).
-
Testing:
- Develop comprehensive Unit and Integration Tests to ensure robustness and reliability of the application.
-
Microservices:
- Explore the implementation of microservices for tasks such as file processing and image compression, allowing for better scalability and separation of concerns.
-
Best Practices:
- Continue to apply and refine software development best practices, including DRY (Don’t Repeat Yourself), KISS (Keep It Simple, Stupid), and OWASP security guidelines.
Contributions are welcome. Please feel free to fork the repository, create a feature branch, and submit a pull request.
This project is licensed under the MIT License.