Overview
ESP Santa Fe de Antioquia uses a combination ofappsettings.json configuration and Startup.cs service registration to configure the application. This guide covers all essential configuration areas.
Database Configuration
Connection String
The database connection is configured inappsettings.json:
appsettings.json
MultipleActiveResultSets=true is required for Entity Framework Core to handle multiple queries simultaneously.
Connection String Formats
DbContext Registration
TheApplicationDbContext is registered in Startup.cs:prjESPSantaFeAnt:28-30:
Startup.cs
- Categories, Products, Employees
- Documents, FileDocuments
- PQRSD (complaints and suggestions)
- BiddingParticipants, Masters
- ASP.NET Identity tables
Authentication & Identity
Identity Configuration
ASP.NET Core Identity is configured inStartup.cs:prjESPSantaFeAnt:32-35:
Startup.cs
Password Policy
Password requirements are defined inStartup.cs:prjESPSantaFeAnt:42-50:
Startup.cs
| Setting | Value | Description |
|---|---|---|
RequireDigit | false | Numbers are optional |
RequireLowercase | false | Lowercase letters are optional |
RequireNonAlphanumeric | false | Special characters are optional |
RequireUppercase | true | At least one uppercase letter required |
RequiredLength | 4 | Minimum 4 characters |
RequiredUniqueChars | 0 | No unique character requirement |
For production environments, consider strengthening these password requirements to improve security.
Account Lockout
Lockout policy is configured inStartup.cs:prjESPSantaFeAnt:52-55:
Startup.cs
User Settings
Allowed username characters are defined inStartup.cs:prjESPSantaFeAnt:57-60:
Startup.cs
Cookie Configuration
Authentication cookies are configured inStartup.cs:prjESPSantaFeAnt:63-72:
Startup.cs
- Session Duration: 180 minutes (3 hours)
- HttpOnly: Cookies are not accessible via JavaScript
- SlidingExpiration: Session extends on activity
Token Lifetime
Email confirmation and password reset tokens expire after 7 days (Startup.cs:prjESPSantaFeAnt:38-39):
Startup.cs
Email Configuration (SendGrid)
SendGrid API Key
Configure your SendGrid API key inappsettings.json:
appsettings.json
Email Service Implementation
The email service is registered inStartup.cs:prjESPSantaFeAnt:88:
Startup.cs
EmailSendGrid.cs:services/Commons:15-45:
EmailSendGrid.cs
Get a SendGrid API Key
Create SendGrid Account
Sign up for a free account at SendGrid
Create API Key
- Navigate to Settings > API Keys
- Click Create API Key
- Choose Full Access or Restricted Access
- Copy the generated API key
Email Settings
- From Address:
[email protected] - Click Tracking: Disabled for security
- Supports: Plain text and HTML content
File Upload Configuration
File Upload Service
The file upload service is registered inStartup.cs:prjESPSantaFeAnt:86:
Startup.cs
Upload Implementation
Files are stored in thewwwroot/images directory, organized by account/category (UploadedFileIIS.cs:services/Commons:30-43):
UploadedFileIIS.cs
Storage Structure
File Upload Features
- Unique Names: Files are renamed with GUIDs to prevent conflicts
- Multiple Uploads: Supports batch file uploads
- Cover Images: Special handling for cover/featured images
- File Deletion: Automatic cleanup when entities are deleted
Service Registration
All application services are registered inStartup.cs:prjESPSantaFeAnt:76-88:
Startup.cs
All services use Transient lifetime, meaning a new instance is created for each request.
AutoMapper Configuration
AutoMapper is registered inStartup.cs:prjESPSantaFeAnt:74:
Startup.cs
Logging Configuration
Logging levels are configured inappsettings.json:
appsettings.json
| Category | Level | Description |
|---|---|---|
Default | Information | General application logs |
Microsoft | Warning | Framework logs (reduced verbosity) |
Microsoft.Hosting.Lifetime | Information | Startup/shutdown events |
Environment-Specific Settings
Development
In development, additional debugging is enabled (Startup.cs:prjESPSantaFeAnt:103-107):
Startup.cs
The code appears to have inverted logic - it shows developer pages in production. This should be reviewed for production deployments.
Production
For production deployments:- Use environment variables for sensitive configuration
- Enable HTTPS redirection (enabled by default)
- Configure HSTS headers
- Use Azure Key Vault or similar for secrets
URL Configuration
Custom URLs can be configured inProgram.cs:prjESPSantaFeAnt:24:
Program.cs
Next Steps
Architecture Overview
Understand the application structure
Database Schema
Explore the data model
Authentication
Learn about the security architecture
Services Layer
Dive into business logic