| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A streamlined document processing application built with .NET 8 Blazor Server that leverages AWS Bedrock AI for intelligent document analysis and summarization.
Simple single-project Blazor Server architecture:
DPS/
└── src/
└── DocumentProcessor.Web/
├── Components/ # Blazor components and pages
├── Data/ # DbContext and database configuration
├── Models/ # Document entity and enums
├── Services/ # Business logic (AI, Storage, Processing)
└── wwwroot/ # Static files (CSS, images)
Clone the repository
git clone https://github.com/aws-samples/sample-document-processing-system.git
cd .\sample-document-processing-system\ Configure AWS Credentials
Ensure your AWS credentials are configured:
aws configureOr set environment variables:
export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
export AWS_DEFAULT_REGION=us-east-1Set Up Database Credentials in AWS Secrets Manager
The application retrieves database credentials from AWS Secrets Manager. Create secrets with the following structure:
For PostgreSQL (secret name: atx-db-modernization-atx-db-modernization-1-target):
{
"username": "your_username",
"password": "your_password",
"host": "your-db-host.rds.amazonaws.com",
"port": "5432"
}For SQL Server (secret with description: Password for RDS MSSQL used for MAM319.):
{
"username": "your_username",
"password": "your_password",
"host": "your-db-host.rds.amazonaws.com",
"port": "1433",
"dbname": "your_database_name"
}Configure Application Settings (Optional)
Update src/DocumentProcessor.Web/appsettings.json for local development fallback:
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=DocumentProcessor;Integrated Security=true;TrustServerCertificate=True;"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}Run the application
cd src/DocumentProcessor.Web
dotnet runAccess the application
Navigate to http://localhost:5197
The application supports two storage backends:
Storage is configured automatically based on AWS credentials availability.
Backend:
Frontend:
Database:
Cloud Services:
Document Processing:
src/DocumentProcessor.Web/ ├── Components/ │ ├── Layout/ │ │ ├── MainLayout.razor # Main app layout │ │ └── NavMenu.razor # Navigation menu │ └── Pages/ │ └── Home.razor # Main page with upload and document list ├── Data/ │ └── AppDbContext.cs # Entity Framework DbContext ├── Models/ │ └── Document.cs # Document entity with status enum ├── Services/ │ ├── AIService.cs # AWS Bedrock integration │ ├── DatabaseInfoService.cs # Database metadata │ ├── DocumentProcessingService.cs # Document processing logic │ ├── FileStorageService.cs # S3/local file storage │ └── SecretsService.cs # AWS Secrets Manager ├── wwwroot/ │ └── css/ │ └── app.css # Custom styles └── Program.cs # App configuration and startup
The application uses Claude 3.5 Sonnet v2 by default:
Local Storage (default fallback):
DocumentProcessor.Web/uploads/
AWS S3 Storage:
The app attempts to connect in this order:
Documents progress through the following states:
The application is designed for AWS deployment:
Docker support can be added with a standard .NET 8 Dockerfile.
If you see database connection errors:
If AI processing fails:
If uploads fail:
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
Built with ❤️ using .NET 8 and AWS Bedrock AI
| Back | FazBrowse Home | New Git URL |