Project Description / Goal
The Grand Library is a digital library system designed to store, manage, and share PDF books and JPG image-based books securely and efficiently. It leverages AWS services to provide scalable storage, AI-powered search, and a user-friendly front end.
The application workflow includes:
- Uploading and categorizing PDF and image-based books.
- Automatic conversion of JPG images to PDFs via AWS Lambda.
- Search functionality powered by Amazon DynamoDB with Global Secondary Indexes.
- React-based web application for managing and viewing books.
- Scalability through AWS services like S3, Lambda, and DynamoDB.
- Auto-cleanup of uploaded images after 24 hours.
Technology Stack
- React & AWS Amplify: Frontend for managing and accessing the library.
- Amazon S3: Storage for PDFs and image-based books.
- AWS Lambda: Handles automatic image-to-PDF conversion.
- Amazon DynamoDB: Stores book metadata and search indexes.
- API Gateway: Provides secure API endpoints for querying books.
- IAM Roles & Policies: Secure access control for AWS resources.
Project Planning / Architecting
The system follows a cloud-native architecture optimized for scalability and automation.
Workflow for Content Management:
- Users upload JPG images or PDFs via the web application.
- JPG images are automatically converted into PDFs using AWS Lambda.
- Converted PDFs are stored in Amazon S3 for persistent access.
- Book metadata is extracted and indexed in Amazon DynamoDB.
- Users can search books by title, author, or topic.
- Future updates will include an interactive Flipbook viewer.
Project Journal / History
- Initial Setup: Designed architecture and set up AWS infrastructure.
- File Handling: Implemented S3 storage and Lambda-based file conversion.
- Search Integration: Developed DynamoDB indexing for efficient searching.
- Frontend Development: Built React-based UI with Amplify deployment.
Obstacles
- Large File Processing: Optimized parallel processing for handling large books.
- Search Performance: Improved indexing in DynamoDB for better query performance.
- Access Control: Implemented IAM policies for secure resource access.