Coder Social home page Coder Social logo

redskiesreaperr / notion-igdb-autocomplete Goto Github PK

View Code? Open in Web Editor NEW
7.0 1.0 0.0 74 KB

Fill video games informations in your Notion database (using IGDB)

Dockerfile 1.33% Go 98.67%
igdb notion notion-automation notion-integration notion-template

notion-igdb-autocomplete's Introduction

Notion IGDB autocomplete CircleCI reddit thread Notion template

This Go project aims to automate the completion of video game information in a Notion database. It simplifies the task of collecting and updating details of video games, including titles, franchises, genres, platforms, and release dates, by connecting to the Notion database.

demo

Key Features

  • Notion Integration: Connects to your Notion database to extract and update video game information.
  • Automated Search: Performs online searches to retrieve up-to-date information about video games.
  • Database Updates: Updates video game entries in Notion with the latest details, such as titles, franchises, genres, platforms, and release dates.

System Requirements

  • Docker
  • Access to a Notion database and a Notion integration key (see Configuration section for details)
  • Access to IGDB API by a client id and client secret (see Configuration section for details)

Installation

  1. Clone this repository to your local machine:
    git clone https://github.com/RedSkiesReaperr/notion-igdb-autocomplete
    cd notion-igdb-autocomplete

Configuration

  1. Create environment configuration file:

    cp ./.env.example .env
  2. If you start from scratch: Duplicate the Notion template and go to step 4

    If you already have a Notion database: Continue to step 3

  3. Create a Notion database (or configure an already existing one) with the following properties:

    • Title:
      • Name: Title
      • Type: Title
    • Platforms:
      • Name: Platforms
      • Type: Multi-select
    • Genres:
      • Name: Genres
      • Type: Multi-select
    • Franchises:
      • Name: Franchises
      • Type: Multi-select
    • Release date:
      • Name: Release date
      • Type: Date
    • Time to complete (Main Story)
      • Name: Time to complete (Main Story)
      • Type: Text
    • Time to complete (Main + Sides)
      • Name: Time to complete (Main + Sides)
      • Type: Text
    • Time to complete (Completionist)
      • Name: Time to complete (Completionist)
      • Type: Text
  4. Create a private Notion integration on your account by following the getting started page before the "Setting up the demo locally" step.

  5. Put your integration API secret as value of the NOTION_API_SECRET in your .env file.

  6. Go on your Notion databse, click on the "..." button and on the "copy link" option. As mentionned in environment variables section, Get the ID of your database and put it as value of the NOTION_PAGE_ID in your .env file.

At this point you should have a Notion database, with all mandatory properties. You should have created a private Notion integration connected with you database. You should have a .env file in your cloned project directory who have two values filled: NOTION_API_SECRET and NOTION_PAGE_ID

  1. Create a Twitch Developer application (needed to use IGDB API) by following the "Account Creation" of getting started page. This will give you steps to get your IGDB_CLIENT_ID & IGDB_SECRET. Afterward fill IGDB_CLIENT_ID & IGDB_SECRET in your .env file. If you need more detailed explanations, follow the 'More details about IGDB configuration' section below.

๐ŸŽ‰ Congrats, configuration done! ๐ŸŽ‰

More details about IGDB configuration

Once you are on the Twitch developers portal:

  1. On the left menu go in the "Applications" section
  2. Then click on the "Register your application" purple button
  3. In the registration form:
    1. Name field: you fill whatever you want.
    2. Second field (about OAuth things): http://localhost.
    3. Click on create button
  4. Once created it takes you to the applications listing, then click on "Manage" button for your newly created app.
  5. Under the captcha, you have a field "client identifier" (or something like that). This value is your IGDB_CLIENT_ID
  6. Click on the "New secret" button. It gives you the IGDB_SECRET

Usage

Install & configure the application following the steps above.

  1. Run the application:
    docker-compose up
  2. In you Notion database create a new entry with a title matching the pattern {{YOUR_DESIRED_GAME_NAME}}

The application will connect to your Notion database, IGDB API and search for video game information. Video game details, including titles, franchises, genres, platforms, and release dates, will be updated in your Notion database.

Any question ?

The answer might be there

Contributing

If you wish to contribute to this project, please follow these steps:

  1. Fork this repository.
  2. Create a branch for your feature: git checkout -b feature/feature-name
  3. Commit your changes: git commit -m 'Added a new feature'
  4. Push your branch: git push origin feature/feature-name
  5. Submit a Pull Request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Feel free to open issues or submit feature requests if you have ideas to enhance this project.

Contributors

notion-igdb-autocomplete's People

Contributors

redskiesreaperr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

notion-igdb-autocomplete's Issues

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.