Skip to content

danielwells/auction-v2

Repository files navigation

Auction Management System - Amplify Version

This is a reimplementation of the Auction Management System using AWS Amplify for backend services.

Project Structure

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')

Getting Started

Prerequisites

  • Node.js (v14 or later)
  • npm or yarn
  • AWS account with appropriate permissions
  • AWS CLI configured with your credentials

Installation

  1. Install dependencies for the frontend:
npm install
  1. Install dependencies for the local server:
cd server
npm install
cd ..

Running Locally with Express Backend

  1. Start the Express server:
cd server
npm start
cd ..
  1. In a separate terminal, start the React app:
npm start

The React app will run on http://localhost:1234 and connect to the Express server on http://localhost:3001.

Setting Up Amplify (Alternative to Express)

  1. Install the Amplify CLI:
npm install -g @aws-amplify/cli
  1. Initialize Amplify in the project:
amplify init
  1. Push the changes to AWS:
amplify push

Features

  1. Item Management

    • Create, edit, and delete auction items
    • Support for Live, Silent, and Order items
    • Item number tracking
    • AI-powered content enhancement
  2. Bid Sheet Generation

    • Generate printable bid sheets for all item types
    • Customizable templates for different auction types
    • Batch printing support
  3. Authentication

    • Secure user authentication with Amazon Cognito
    • Role-based access control
  4. Backend Processing

    • Secure AWS Bedrock integration for AI features
    • GraphQL API for data operations

Development Notes

This implementation demonstrates how to:

  1. Use AWS Amplify for backend services
  2. Securely call AWS Bedrock from a backend service
  3. Maintain the same UI experience with Cloudscape Design System
  4. Implement proper separation of concerns between frontend and backend

Comparison with Original Implementation

The key differences from the original implementation:

  1. Backend Processing: Uses a dedicated backend service instead of direct browser-to-AWS calls
  2. Security: AWS credentials are kept on the server, not exposed to the browser
  3. Scalability: Ready for deployment to AWS with proper infrastructure
  4. Development Experience: Provides both local and cloud development options

About

Simple Auction Software

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published