Welcome to the ecommerce GameStore, an exciting and user-friendly web application where gamers can explore, buy, and gift their favorite video games. This README file will guide you through the features and technologies used in our project.
-
Search and Browse Videogames: Users can easily search for their favorite video games using our intuitive search feature. Browse through a vast collection of games to find the perfect ones to add to your collection.
-
User Authentication with Google: Enjoy a seamless and secure login experience with Google authentication provided by Auth0. Sign in using your Google account to access personalized features and manage your profile.
-
User Profile Editing: Customize your profile with ease. Users can edit their profile information, including usernames, avatars, and other details, ensuring a personalized experience.
-
Adding to Favorites: Never lose track of your most loved games. Users can save their favorite video games to a dedicated favorites list, making it easy to revisit them later.
-
Shopping Cart: The shopping cart feature allows users to add their desired video games to their cart before proceeding to checkout. It ensures a smooth and efficient buying process.
-
Secure Payments with Stripe: Seamlessly complete transactions with the secure payment gateway Stripe. Purchase your favorite video games with confidence.
-
Gift a Video Game: Surprise your friends by sending them video games as gifts. Our "Send as Gift" feature makes sharing the joy of gaming easy and fun.
-
Admin Dashboard: For administrators, we offer a dedicated admin section where they can manage and update the video game inventory. Stay in control of the website's content effortlessly.
-
User-to-User Chat: Connect and interact with other users through our real-time chat feature. Discuss gaming, share recommendations, and make new friends within the VideoGame Emporium community.
Our project harnesses the power of various technologies to provide you with a seamless and enjoyable experience:
-
React.js: The frontend of our web application is built using React.js, enabling fast and interactive user interfaces.
-
Redux Toolkit: We utilize Redux Toolkit for efficient state management, ensuring a smooth and consistent user experience.
-
Express.js & Node.js: Our backend is powered by Express.js and Node.js, enabling robust server-side operations and data handling.
-
Sequelize: Sequelize is the ORM (Object-Relational Mapping) tool used to interact with the PostgreSQL database effectively.
-
PostgreSQL: We rely on PostgreSQL as our database management system, ensuring reliable and secure data storage.
-
Auth0: User authentication is handled seamlessly by Auth0, allowing users to login with their Google accounts.
-
Stripe: For secure and reliable payment processing, we use Stripe as our payment gateway.
The project follows a typical directory structure for a PERN stack application. Here's an overview:
client
├── public
└── src
├── components
├── hooks
├── pages
├── reducers
├── redux
├── services
├── utils
├── App.jsx
└── main.jsx
api
└── src
├── controllers
├── models
├── routes
├── socket
├── utils
└── index.js
To run this project on your local machine, follow these steps:
To start using the Recipe Management Web Application, follow these steps:
- Clone the repository to your local machine.
- Navigate to the project's root directory.
- Set up the PostgreSQL database, auth0, stripe, socket io, and configure the connection details in the server's
.env
file. - Install the dependencies for both the client and server by running
npm install
in theclient
andserver
directories. - Start the client-side development server by running
npm run dev
in theclient
directory. - Start the server-side development server by running
npm start
in theserver
directory. - Open your browser and visit
http://localhost:5173
to access the GameStore Web Application.
If you encounter any issues, have questions, or wish to provide feedback, please feel free to reach out to us at [email protected] We'd love to hear from you!
Thank you for choosing GameStore Happy gaming! 🎮🎉