This is a reimplementation of the Auction Management System using AWS Amplify for backend services.
amplify-version/
├── src/ # React frontend
│ ├── components/ # Reusable UI components
│ ├── context/ # React context for state management
│ ├── pages/ # Main application pages
│ ├── services/ # Service layer for API calls
│ ├── App.js # Main application component
│ └── index.js # Application entry point
├── server/ # Express server for local development
│ └── index.js # Server implementation
└── amplify/ # Amplify configuration (after running 'amplify init')
- Node.js (v14 or later)
- npm or yarn
- AWS account with appropriate permissions
- AWS CLI configured with your credentials
- Install dependencies for the frontend:
npm install- Install dependencies for the local server:
cd server
npm install
cd ..- Start the Express server:
cd server
npm start
cd ..- In a separate terminal, start the React app:
npm startThe React app will run on http://localhost:1234 and connect to the Express server on http://localhost:3001.
- Install the Amplify CLI:
npm install -g @aws-amplify/cli- Initialize Amplify in the project:
amplify init- Push the changes to AWS:
amplify push-
Item Management
- Create, edit, and delete auction items
- Support for Live, Silent, and Order items
- Item number tracking
- AI-powered content enhancement
-
Bid Sheet Generation
- Generate printable bid sheets for all item types
- Customizable templates for different auction types
- Batch printing support
-
Authentication
- Secure user authentication with Amazon Cognito
- Role-based access control
-
Backend Processing
- Secure AWS Bedrock integration for AI features
- GraphQL API for data operations
This implementation demonstrates how to:
- Use AWS Amplify for backend services
- Securely call AWS Bedrock from a backend service
- Maintain the same UI experience with Cloudscape Design System
- Implement proper separation of concerns between frontend and backend
The key differences from the original implementation:
- Backend Processing: Uses a dedicated backend service instead of direct browser-to-AWS calls
- Security: AWS credentials are kept on the server, not exposed to the browser
- Scalability: Ready for deployment to AWS with proper infrastructure
- Development Experience: Provides both local and cloud development options