EpicGames — a game shop web app

A game shop web application inspired by the Epic Games Store, built with a React frontend and a Django backend. Browse games, view details, sign in, track preferences, and check out with Stripe.

EpicGames app — homepage showing the game listingEpicGames app — game detail and authentication view

What it does

Browse and discover games from a listing page with detail popups.

Sign up, sign in, and update your profile.

User preference tracking — the app learns which game tags you interact with and stores them for personalized recommendations.

Stripe checkout integration — complete the purchase flow with a payment page and success confirmation.

How it's built

The frontend is a React 18 app (Create React App) with React Router for navigation and Redux Toolkit for global state management. Material UI handles the component library and styling, while Axios manages all HTTP calls to the backend API.

The backend is a Django REST API (served as a git submodule) handling authentication, game data, user preferences, and Stripe webhook/payment endpoints. The CRA dev server proxies API calls to 127.0.0.1:8000 for seamless local development.

Tech stack

frontend
React 18, Redux Toolkit, React Router, Material UI, Axios
payments
Stripe (@stripe/stripe-js)
backend
Django (REST API, served as git submodule)
tooling
Create React App, npm, Git submodules