Coder Social home page Coder Social logo

geko-games-db's Introduction

Games DB

Games DB is a comprehensive games database web application built using Next.js, leveraging the IGDB API to fetch a vast collection of video game information. Users can search for games, filter results based on platforms and themes, view game details including screenshots, trailers, average ratings, release dates, and more. Registered users can also save their favorite games to a personalized Favorites list.

Features

  • Search: Quickly find games using the persistent search bar.
  • Categories: Narrow down games by platforms or themes.
  • Game Details: View extensive information about each game, including screenshots, trailers and ratings.
  • Favorites List: Save and manage a list of your favorite games.
  • Responsive Design: Use on either desktop or your phone.
  • User Authentication: Create an account with your email and manage your favorites list.
  • Modern, dynamic UI: Made with love and care.

Getting Started

Follow these instructions to set up Games DB locally for development.

Prerequisites

  • Node.js version >= 16.14
  • IGDB API client ID and authorization token
  • A Vercel PostgreSQL database (for managing users and favorites)
  • An OpenAI API key for the AI game suggestions feature

Installation

  1. Clone this project locally:

    git clone <repository-url>
    cd <repository-folder>
  2. Install dependencies:

    npm install
  3. Set up environment variables: Copy the .env.example file to a new file named .env.development.local, and fill in the required API keys and database credentials.

  4. Run the app in development mode:

     npm run dev

    The app will be accessible at http://localhost:3000.

Dependencies

React - UI Library

React-DOM - Client-side navigation

Next.js 13.5.6 - API routing and integration with Vercel services

Vercel Postgres - Plays nicely with Next.js, easy deployment

bcrypt.js - Password hashing and verification

cookie - Secure cookies for authentication

jose - JWT Signing and Authentication

Tailwind CSS - Styling

HeadlessUI - Combobox for the Search bar

LightGallery.js - Lightbox for images and videos

FontAwesome - Icons

Limitations

  • Does not yet have the ability to refresh the JWT token for the logged in state.
  • Game information is sourced from the IGDB API and is read-only - it cannot be added to or modified.
  • Game data is user-submitted and may vary in completeness. However, a majority of the widely popular games have extensive information available.

Credits

Thanks to the creators of IGDB for providing the extensive game database, and to the creators of all dependency packages listed above. Big thanks to our mentors at Lighthouse Labs for being there to guide us at numerous points in our journey.

geko-games-db's People

Contributors

tusharhchhabra avatar b-rob97 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.