A React web application that allows users to create profiles and select college football teams for tournaments.
- User authentication and profile management
- Profile picture upload
- Selection of college football teams from an autocomplete list
- AWS-powered backend services
The application consists of:
- React frontend with TypeScript
- AWS CDK infrastructure
- Amazon Cognito for authentication
- Amazon S3 for storing profile pictures
- Amazon DynamoDB for storing user profiles and team selections
- Amazon API Gateway for REST API endpoints
- AWS Lambda functions for backend processing
- Node.js (v14.x or later)
- npm or yarn
- AWS CLI configured with appropriate permissions
- AWS CDK CLI installed
git clone <repository-url>
cd VATS
cd vats-cdk
npm install
npm run build
cdk deploy
Note the outputs from the CDK deployment, which include:
- UserPoolId
- UserPoolClientId
- IdentityPoolId
- ApiUrl
- ProfilePicturesBucketName
Update the AWS configuration in vats/src/aws-config.ts
with the values from the CDK deployment:
export const awsConfig: AwsConfig = {
region: 'us-east-1',
userPoolId: 'YOUR_USER_POOL_ID',
userPoolWebClientId: 'YOUR_USER_POOL_CLIENT_ID',
identityPoolId: 'YOUR_IDENTITY_POOL_ID',
profilePicturesBucket: 'YOUR_PROFILE_PICTURES_BUCKET_NAME',
apiUrl: 'YOUR_API_URL',
};
cd vats
npm install
npm start # for development
npm run build # for production
For production deployment, upload the build directory to an S3 bucket configured for static website hosting or use a service like AWS Amplify.
- Create an account using the sign-up page
- Verify your email address with the verification code
- Sign in with your credentials
- Update your profile with your name and profile picture
- Select 8 teams for your tournament
cd vats
npm install
npm start
cd vats-cdk
npm run build
npm run watch # watches for changes
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License.