Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rudolphreti/wonderlynx
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.
https://github.com/rudolphreti/wonderlynx
asp-net-core crud csharp mvc reference-management
Last synced: 9 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/rudolphreti/wonderlynx
- Owner: rudolphreti
- License: mit
- Created: 2024-07-31T15:51:16.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2024-08-15T13:58:13.000Z (5 months ago)
- Last Synced: 2024-11-06T15:13:38.373Z (about 2 months ago)
- Topics: asp-net-core, crud, csharp, mvc, reference-management
- Language: C#
- Homepage:
- Size: 974 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# WonderLynx
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.
![Screenshot](Screenshots/screen.png)
## Usage
### Voraussetzungen
- **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.### Schritt 1: Datenbank einrichten
1. **Datenbank erstellen**:
- Öffne SQL Server Management Studio (SSMS).
- Verbinde dich mit deinem SQL Server.
- Erstelle eine neue Datenbank mit dem SQL-Skript:
```sql
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)
);
```2. **Datenbankverbindung konfigurieren**:
- Öffne das Projekt in Visual Studio.
- Bearbeite die `appsettings.json`-Datei im `API`-Projekt, um die Verbindungszeichenfolge zur Datenbank zu konfigurieren:```json
"ConnectionStrings": {
"DefaultConnection": "Server=your_server_name;Database=WonderLynx;Trusted_Connection=True;"
}
```### Schritt 2: Projekt ausführen
1. **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.2. **Migrationen anwenden** (falls erforderlich):
- Öffne die Package Manager Console in Visual Studio.
- Führe `Update-Database` aus, um alle Migrationen anzuwenden.3. **Projekt starten**:
- Drücke `F5` oder klicke auf `Start`, um die Anwendung auszuführen.
- Die Anwendung wird gestartet und ist unter `https://localhost:7265` verfügbar.### Schritt 3: API verwenden
Verwende Swagger UI, um die verfügbaren API-Endpunkte zu durchsuchen und zu testen:
![Screenshot](Screenshots/swagger.png)
3. **Authentifizierung und Autorisierung**:
- Falls benötigt, implementiere und konfiguriere die Authentifizierung (z.B. JWT oder OAuth).## TO DO:
The project is in a stable state, but there are several opportunities for enhancement and expansion:
1. **Containerization**:
- Dockerize the application to facilitate consistent and portable deployments across various environments.2. **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).3. **Testing**:
- Develop comprehensive Unit and Integration Tests to ensure robustness and reliability of the application.4. **Microservices**:
- Explore the implementation of microservices for tasks such as file processing and image compression, allowing for better scalability and separation of concerns.5. **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.## Contributing
Contributions are welcome. Please feel free to fork the repository, create a feature branch, and submit a pull request.
## License
This project is licensed under the MIT License.