Skip to content

GameHaven, a full-stack web application that allows users to buy, sell, and trade video games securely.

Notifications You must be signed in to change notification settings

MedGm/GameHaven

Folders and files

NameName
Last commit message
Last commit date

Latest commit

92cdd2d ยท Feb 15, 2025

History

14 Commits
Feb 15, 2025
Feb 1, 2025

Repository files navigation

GameHaven โ€“ Video Games Marketplace ๐ŸŽฎ

mainpage

Welcome to GameHaven, a full-stack web application that allows users to buy, sell, and trade video games securely. Built with Symfony (backend) and React 18 (frontend), GameHaven provides a dynamic user experience with features like secure authentication, game listings, wishlist management, and integrated payment processing using Stripe.

๐Ÿ“Œ Key Features

  • User Authentication: JWT-based authentication with role-based access.
  • Game Listings: Create, update, search, and manage game listings.
  • Wishlist Management: Keep track of your favorite games.
  • Secure Payments: Integrated with Stripe for payment processing.
  • Robust Backend: RESTful API built with Symfony and Doctrine ORM.
  • Optimized Data Management: Powered by PostgreSQL.
  • Responsive Frontend: Modern React 18 UI with dynamic navigation.

๐Ÿš€ Tech Stack

  • Backend: [Symfony Logo], Doctrine ORM, LexikJWT, NelmioCorsBundle
  • Frontend: [React Logo React 18], React Router, Axios
  • Database: [PostgreSQL Logo PostgreSQL]
  • APIs & Tools: [Postman Logo Postman], Stripe API

๐Ÿ“ Project Hierarchy

GameHaven/
โ”œโ”€โ”€ backend/
โ”‚   โ”œโ”€โ”€ config/
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ public/
โ”‚   โ””โ”€โ”€ ...
โ”œโ”€โ”€ frontend/
โ”‚   โ”œโ”€โ”€ public/
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”œโ”€โ”€ utils/
โ”‚   โ”‚   โ””โ”€โ”€ ...
โ”‚   โ””โ”€โ”€ package.json
โ””โ”€โ”€ README.md

โš™๏ธ Setup & Installation

Backend (Symfony)

  1. Clone the repository:

    git clone https://github.com/yourusername/GameHaven.git
    cd GameHaven/backend
  2. Install dependencies:

    composer install
  3. Create and configure the .env file:

    cp .env.example .env

    Update the following fields in .env:

    • DATABASE_URL
    • JWT_SECRET_KEY, JWT_PUBLIC_KEY, JWT_PASSPHRASE
    • CORS_ALLOW_ORIGIN
    • STRIPE_SECRET_KEY, STRIPE_PUBLIC_KEY
  4. Generate JWT keys:

    mkdir -p config/jwt
    openssl genpkey -algorithm RSA -out config/jwt/private.pem -aes256 -pass pass:your_passphrase
    openssl rsa -pubout -in config/jwt/private.pem -out config/jwt/public.pem -passin pass:your_passphrase
  5. Database Setup:

    php bin/console doctrine:database:create
    php bin/console doctrine:migrations:migrate
  6. Run Symfony server:

    symfony server:start

Frontend (React)

  1. Navigate to frontend directory:

    cd ../frontend
  2. Install dependencies:

    npm install
  3. Configure environment variables:

    • Copy .env.example to .env and update:
      • REACT_APP_API_URL (Backend API URL)
      • REACT_APP_STRIPE_PUBLIC_KEY
  4. Start the development server:

    npm start

    The app should run at http://localhost:3000.

๐Ÿ› ๏ธ Running & Testing the Application

  • Use Postman for API testing.
  • Browser-based testing for the frontend.
  • Monitor logs for backend Symfony server and React development server for debugging.

๐ŸŽฏ Final Thoughts

GameHaven is designed to deliver a seamless gaming marketplace experience. Contributions, feedback, or issues are welcomeโ€”feel free to open an issue or a pull request.


Happy coding! ๐Ÿš€๐ŸŽฎ

Connect with me on LinkedIn

About

GameHaven, a full-stack web application that allows users to buy, sell, and trade video games securely.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published