Bertrund is an online library system developed with ASP.NET MVC, Bootstrap, SignalR, SQL Server, and hosted on Azure App Service. The project offers advanced features for managing books and users, with specific access levels for readers, librarians, and administrators. Additionally, it includes modern features like Google authentication, an intelligent chatbot powered by Google Gemini, Cloudflare Turnstile for bot protection, and support for light and dark themes.
Home Page Dark
Profile Page Dark
Book Catalog Page Dark
Chats Page Dark
- Request book loans for 15 days.
- View history of loans, returns, and reservations.
- Manage the book catalog.
- Manage the author catalog.
- Manage the category catalog.
- Manage the loan catalog.
- Control and manage users.
- Multilingual Support: Interface available in multiple languages.
- Light/Dark Mode: Theme switching for visual comfort.
- CAPTCHA Cloudflare Turnstile: Protection against bots.
- Google Authentication: Secure login using OAuth 2.0.
- Intelligent Chatbot: User support via Google Gemini API.
- ASP.NET MVC: Robust backend for dynamic management.
- Bootstrap 5: Modern and responsive design.
- SQL Server on Azure: Reliable and scalable database.
- Cloudflare Turnstile: Secure and seamless CAPTCHA integration.
- Google OAuth: Trusted authentication.
- Azure App Service: Scalable and efficient hosting.
- Google Gemini: AI platform.
- SignalR: Real-time communication for interactive applications.
- Daily.co: Integration platform for video and voice calls.
-
Clone the Repository
Clone the repository to your local machine:
git clone https://github.com/anton3x/bertrund.git
-
Configure the Application
Update the appsettings.json file with your configurations:
{ "ConnectionStrings": { "DefaultConnection": "your-default-db-connection" }, "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "AllowedHosts": "*", "EmprestimoCleanup": { "DiasParaExclusao": 3, "IntervaloVerificacaoHoras": 1 }, "EmailConfiguration": { "FromEmail": "noreply@example.com", "DisplayName": "System Notifications", "SmtpServer": "smtp.gmail.com", "Port": 587, "Username": "your-email@example.com", "Password": "your-email-password" }, "Auth": { "Google": { "ClientId": "your-google-client-id", "ClientSecret": "your-google-client-secret" } }, "Turnstile": { "SiteKey": "your-turnstile-site-key", "SecretKey": "your-turnstile-secret-key" }, "Gemini": { "ApiKey": "your-gemini-api-key", "Model": "tunedModels/copy-of-copy-of-prompt-tunning-a6dexfock" }, "DailyCo": { "ApiKey": "your-dailyco-api-key", "DailyApiBaseUrl": "https://api.daily.co/v1/" } } -
Set Up the Development Environment
Ensure you have installed:
- .NET 8.0 SDK or later
- SQL Server
-
Set Up the Database
update-database
-
Run the Application
-
Access the Application
Open your browser and navigate to:
https://localhost:5001