- Übersicht
- Hauptfunktionen
- Technische Voraussetzungen
- Installation und Konfiguration
- Benutzung der Anwendung
- Autorisierungssystem
- Konfiguration
- Rollenmanagement
- Projektstruktur
- Erweiterbarkeit
- Fehlerbehebung
- Lizenz
- Beitragen
- Mitwirkende
- Roadmap
- Kontakt
ASPnet_Jobtastic ist eine moderne ASP.NET Core-Webanwendung, die als Stellenportal dient. Die Anwendung ermöglicht es Benutzern, Stellenangebote zu erstellen, zu verwalten und mit anderen Benutzern zu teilen. Sie verfügt über ein robustes Autorisierungssystem, Benutzerverwaltung mit unterschiedlichen Rollen und eine intuitive Benutzeroberfläche.
- Benutzerverwaltung: Registrierung, Anmeldung, Zwei-Faktor-Authentifizierung
- Rollensystem: Administrator-, Benutzer-, Moderator- und Support-Rollen
- Stellenanzeigen-Verwaltung: Erstellen, Bearbeiten, Löschen von Stellenangeboten
- Freigabesystem: Teilen von Stellenangeboten mit anderen Benutzern mit differenzierten Berechtigungen
- Administrationsbereich: Verwaltung von Benutzern und Rollen
- Responsive Design: Kompatibel mit Desktop- und Mobilgeräten (in arbeit)
- .NET 8.0: Die Anwendung wurde mit .NET 8.0 entwickelt
- Visual Studio: Visual Studio 2022 oder höher wird empfohlen
- Microsoft SQL Server: Die Anwendung verwendet standardmäßig MSSQL Server als Datenbank
- WICHTIG: Die Anwendung ist NUR mit Microsoft SQL Server kompatibel, ohne weitere Anpassungen!
- Internet-Verbindung: Für Bootstrap, jQuery und andere CDN-gehostete Ressourcen
git clone https://github.com/yourusername/ASPnet_Jobtastic.git
cd ASPnet_JobtasticWICHTIG: Das Projekt erfordert Microsoft SQL Server. Andere Datenbanken werden nicht unterstützt.
Öffnen Sie die appsettings.json-Datei und passen Sie den Connection String an:
"ConnectionStrings": {
"DefaultConnection": "Data Source=YOUR_SERVER_NAME;Initial Catalog=ASPnet_Jobtastic;User Id=YOUR_USERNAME;Password=YOUR_PASSWORD;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;Application Intent=ReadWrite;MultipleActiveResultSets=True"
}Ersetzen Sie:
YOUR_SERVER_NAMEmit dem Namen Ihres SQL ServersYOUR_USERNAMEmit Ihrem SQL Server-BenutzernamenYOUR_PASSWORDmit Ihrem SQL Server-Passwort
In Visual Studio: Öffnen Sie die Package Manager Console und führen Sie folgende Befehle aus:
Update-Database
Alternativ über die Befehlszeile:
dotnet ef database updateIn Visual Studio:
- Klicken Sie auf "Debuggen starten" oder drücken Sie F5
Über die Befehlszeile:
dotnet runNach dem Start sollte die Anwendung unter https://localhost:7114 (oder http://localhost:5057) verfügbar sein. !!! Port kann sich ändern je nach IDE !!!
- Registrieren: Erstellen Sie ein neues Benutzerkonto
- Anmelden: Melden Sie sich mit Ihrem Konto an
- Stellenanzeige erstellen: Klicken Sie auf "Neuen Job anlegen"
- Stellenanzeigen verwalten: Verwalten Sie Ihre Anzeigen über die "Deine Inserate"-Seite
Um einen Benutzer zum Administrator zu machen:
-
Führen Sie eine SQL-Abfrage aus, um die Benutzer-ID zu ermitteln:
SELECT Id FROM AspNetUsers WHERE UserName = 'gewünschter_benutzername';
-
Führen Sie eine SQL-Abfrage aus, um die Rollen-ID zu ermitteln:
SELECT Id FROM AspNetRoles WHERE Name = 'Administrator';
-
Führen Sie eine SQL-Abfrage aus, um den Benutzer zur Administratorrolle hinzuzufügen:
INSERT INTO AspNetUserRoles (UserId, RoleId) VALUES ('benutzer_id', 'administrator_rollen_id');
Die Anwendung verfügt über ein detailliertes Autorisierungssystem für Stellenanzeigen:
- Eigentümer: Haben volle Kontrolle über ihre Stellenanzeigen
- Freigabeberechtigungen: Können bestimmen, ob andere Benutzer Stellenanzeigen bearbeiten oder löschen dürfen
- Administratoren: Haben Zugriff auf alle Stellenanzeigen im System
Details zur Implementierung finden Sie im Verzeichnis /Authorization und in der Datei README.md in diesem Ordner.
Die Datenbankverbindung wird in appsettings.json konfiguriert:
"ConnectionStrings": {
"DefaultConnection": "Data Source=YourServerName;Initial Catalog=ASPnet_Jobtastic;User Id=YourUsername;Password=YourPassword;..."
}Die Passwortrichtlinien können in Program.cs angepasst werden:
builder.Services.Configure<IdentityOptions>(options =>
{
options.Password.RequireDigit = false;
options.Password.RequireLowercase = false;
options.Password.RequireNonAlphanumeric = false;
options.Password.RequireUppercase = false;
options.Password.RequiredLength = 5;
options.Password.RequiredUniqueChars = 0;
});Jobtastic unterstützt folgende Standardrollen:
- Administrator: Vollzugriff auf alle Funktionen
- User: Normaler Benutzer
- Moderator: Erweiterte Rechte (konfigurierbar)
- Support: Support-Mitarbeiter (konfigurierbar)
Rollen werden automatisch beim Anwendungsstart angelegt (siehe Program.cs):
using (var scope = app.Services.CreateScope())
{
var roleManager = scope.ServiceProvider.GetRequiredService<RoleManager<IdentityRole>>();
string[] roles = new[] { "Administrator", "User", "Moderator", "Support" };
foreach (var role in roles)
{
if (!await roleManager.RoleExistsAsync(role))
{
await roleManager.CreateAsync(new IdentityRole(role));
}
}
}/Areas/Identity: Identity Framework-Komponenten für Authentifizierung/Authorization: Autorisierungslogik für die Ressourcenverwaltung/Controllers: MVC-Controller der Anwendung/Data: Datenbankkontext und Migrations-Dateien/Models: Datenmodelle der Anwendung/Views: MVC-Views für die Benutzeroberfläche/wwwroot: Statische Ressourcen (CSS, JavaScript, Bilder)
Das System wurde mit Erweiterbarkeit im Fokus entwickelt:
- JobPostingOperations kann um neue Operationen erweitert werden
- Autorisierungssystem kann für weitere Entitäten adaptiert werden
- Benutzerrollen können nach Bedarf hinzugefuegt werden
Um neue Operationen hinzuzufügen:
- Ergänzen Sie
JobPostingOperations.csum neue Operationstypen - Erweitern Sie den
JobPostingAuthorizationHandlerum die Logik für die neue Operation - Nutzen Sie die Operation in Ihren Controllern mit dem
JobPostingAuthorizationHelper
- Stellen Sie sicher, dass Ihr SQL Server läuft
- Überprüfen Sie den Connection String in
appsettings.json - Stellen Sie sicher, dass der Benutzer die richtigen Berechtigungen hat
Bei Problemen mit der Datenbankmigration:
dotnet ef migrations remove
dotnet ef migrations add InitialCreate
dotnet ef database updateDieses Projekt ist unter der MIT-Lizenz lizenziert - siehe die LICENSE.txt-Datei für Details.
Beiträge zum Projekt sind willkommen! Bitte folgen Sie dem Standard-Pull-Request-Prozess:
- Fork des Repositories erstellen
- Feature-Branch erstellen (
git checkout -b feature/AmazingFeature) - Änderungen committen (
git commit -m 'Add some AmazingFeature') - Branch pushen (
git push origin feature/AmazingFeature) - Pull Request erstellen
- [Jan Janssen] - Ursprünglicher Autor
Geplante Funktionen für zukünftige Versionen:
- Integration von Bewerbungsmanagement
- Erweiterte Suchfunktionen
- API für externe Anwendungen
- Export/Import-Funktionen
- Mehrsprachige Unterstützung
Bei Fragen oder Problemen erstellen Sie bitte ein Issue im GitHub-Repository.
