About Game Share
Game Share is a platform designed for gaming enthusiasts to share and exchange video game keys seamlessly. Our platform empowers users to distribute their unused game keys, ensuring that everyone has an opportunity to explore a wider variety of titles.
How to Start Claiming or Submitting Keys:
- Sign up for an account
- A valid email is required to confirm your account
- Ensure to use your real name so an admin knows who you are
- Wait for an admin to approve your account
- Once approved, you can start claiming keys or submitting your own keys
Features:
1. Game Key Management:
- Users can share game keys they don't want. These keys can be sorted and filtered to find keys of interest to you.
- Game keys cover a range of platforms like Steam and Epic and can be of different types (full game, DLC, etc.).
- Each key contains metadata provided by the sharer, such as the game's genre, any notes, and the submission time.
- Keys can be linked to data from the RAWG API, which enhances the key's page with additional game facts, screenshots, and descriptions.
- Users can edit or delete keys they have submitted.
- Approved users can claim keys they want. Once claimed, the key is hidden from the platform.
- Admin users can view recently claimed keys, ensuring smooth oversight of the platform's key exchange process.
2. User Profiles & Approval System:
- The application features a user approval system. Only users approved by an admin can share or claim keys.
- Publicly accessible user names ensure anonymity, while also allowing the community to track key submissions.
Technical Insights:
Game Share's architecture leverages the serverless capabilities of AWS, optimizing scalability, and ensuring reliable performance.
- Frontend: The frontend is built with Next.js and React, ensuring a smooth user experience. Exporting the frontend as a static site allows for easy deployment and hosting.
- Hosting & Distribution: The core services include S3 for storing game keys and CloudFront for efficient content distribution.
- Serverless Computing: With Lambda, we can execute backend operations without maintaining a server, ensuring cost-effectiveness and smooth scalability.
- Secure & Scalable Database: DynamoDB handles our data storage needs.
- Authentication: The React Amplify framework handles user authentication and authorization on the frontend.
- User Management: Cognito facilitates secure user sign-up and sign-in. It also integrates seamlessly with the platform's user approval system.
- API Management: API Gateway manages the various API endpoints, ensuring secure and efficient data flow.
Check out our source code on Gitlab here.
Why Game Share is Impressive:
- Serverless Advantage: The application uses a serverless architecture, ensuring optimum scalability without the traditional server maintenance overhead.
- Cost-Efficiency: Game Share is designed to operate primarily within AWS's free tier limits, ensuring the platform is affordable.
- CloudFront has a free tier that should cover all usage of this app (1TB of data out and 10 million HTTP/S requests per month)
- S3 has a free tier that should cover all usage of this app (5GB of storage and 20,000 GET requests per month which are cached by CloudFront)
- API Gateway has a free tier that should cover all usage of this app (1 million requests per month)
- Lambda has a free tier that should cover all usage of this app (1 million requests and 400,000 GB-seconds per month)
- Cognito has a free tier that should cover all usage of this app (50,000 monthly active users)
- DynamoDB has a free tier that should cover most of this app (25GB of storage), since we are using on-demand capacity, there will be a small charge (pennies, if that) for the reads and writes
- High-Quality Game Data Integration: The integration with RAWG API ensures that game details are always up-to-date and reliable.