|
1 | | -# Notion IGDB autocomplete |
| 1 | +# Notion IGDB autocomplete [](https://www.reddit.com/r/Notion/comments/17dw8js/created_integration_to_automatically_fill_in/?utm_source=share&utm_medium=web2x&context=3) |
| 2 | + |
| 3 | +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. |
2 | 4 |
|
3 | 5 |  |
4 | 6 |
|
5 | | -## How does it works |
6 | | -Watch the database you set up. Waits for a page with a title that matchs the following pattern: `{{GAME_TITLE}}`. Then it asks for IGDB informations and it fills the Notion page. |
| 7 | +## Key Features |
| 8 | +- Notion Integration: Connects to your Notion database to extract and update video game information. |
| 9 | +- Automated Search: Performs online searches to retrieve up-to-date information about video games. |
| 10 | +- Database Updates: Updates video game entries in Notion with the latest details, such as titles, franchises, genres, platforms, and release dates. |
7 | 11 |
|
8 | | -## Requirements |
| 12 | +## System Requirements |
9 | 13 | - [Docker](https://www.docker.com/products/docker-desktop/) |
| 14 | +- Access to a Notion database and a Notion integration key (see Configuration section for details) |
| 15 | +- Access to IGDB API by a client id and client secret (see Configuration section for details) |
| 16 | + |
| 17 | +## Installation |
| 18 | + |
| 19 | +1. Clone this repository to your local machine: |
| 20 | + ```sh |
| 21 | + git clone https://github.com/RedSkiesReaperr/notion-igdb-autocomplete |
| 22 | + cd notion-igdb-autocomplete |
| 23 | + ``` |
| 24 | + |
| 25 | +## Configuration |
| 26 | + |
| 27 | +1. Create environment configuration file: |
| 28 | + ```sh |
| 29 | + cp ./example.env .env |
| 30 | + ``` |
| 31 | + |
| 32 | +2. Create a Notion database (or configure an already existing one) with the following properties: |
| 33 | + - Title: |
| 34 | + - Name: Title |
| 35 | + - Type: Title |
| 36 | + - Platforms: |
| 37 | + - Name: Platforms |
| 38 | + - Type: Multi-select |
| 39 | + - Genres: |
| 40 | + - Name: Genres |
| 41 | + - Type: Multi-select |
| 42 | + - Franchises: |
| 43 | + - Name: Franchises |
| 44 | + - Type: Multi-select |
| 45 | + - Release date: |
| 46 | + - Name: Release date |
| 47 | + - Type: Date |
| 48 | + |
| 49 | +3. Create a private Notion integration on your account by following the [getting started page](https://developers.notion.com/docs/create-a-notion-integration#create-your-integration-in-notion) before the "Setting up the demo locally" step. |
| 50 | + |
| 51 | +4. Put your integration API secret as value of the `NOTION_API_SECRET` in your `.env` file. |
| 52 | + |
| 53 | +5. Go on your Notion page, click on the "..." button and on the "copy link" option. As mentionned in [environment variables section](https://developers.notion.com/docs/create-a-notion-integration#environment-variables), Get the ID of your page and put it as value of the `NOTION_PAGE_ID` in your `.env` file. |
| 54 | + |
| 55 | +> ***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`*** |
| 56 | + |
| 57 | +6. Create a Twitch Developer application (needed to use IGDB API) by following the "Account Creation" of [getting started page](https://api-docs.igdb.com/#getting-started). 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***. |
| 58 | + |
| 59 | +🎉 **Congrats, configuration done!** 🎉 |
| 60 | + |
| 61 | +### More details about IGDB configuration |
| 62 | +Once you are on the Twitch developers portal: |
| 63 | +1. On the left menu go in the "Applications" section |
| 64 | +2. Then click on the "Register your application" purple button |
| 65 | +3. In the registration form: |
| 66 | + 1. Name field: you fill whatever you want. |
| 67 | + 2. Second field (about OAuth things): `http://localhost`. |
| 68 | + 3. Click on create button |
| 69 | +4. Once created it takes you to the applications listing, then click on "Manage" button for your newly created app. |
| 70 | +5. Under the captcha, you have a field "client identifier" (or something like that). This value is your `IGDB_CLIENT_ID` |
| 71 | +6. Click on the "New secret" button. It gives you the `IGDB_SECRET` |
| 72 | + |
| 73 | +## Usage |
| 74 | +Install & configure the application following the steps above. |
| 75 | + |
| 76 | +1. Run the application: |
| 77 | + ```sh |
| 78 | + docker-compose up |
| 79 | + ``` |
| 80 | +2. In you Notion database create a new entry with a title matching the pattern `{{YOUR_DESIRED_GAME_NAME}}` |
| 81 | + |
| 82 | +The application will connect to your Notion database, IGDB API and search for video game information. |
| 83 | +Video game details, including titles, franchises, genres, platforms, and release dates, will be updated in your Notion database. |
| 84 | + |
| 85 | +## Any question ? |
| 86 | +The answer might be [there](https://www.reddit.com/r/Notion/comments/17dw8js/created_integration_to_automatically_fill_in/?utm_source=share&utm_medium=web2x&context=3) |
| 87 | + |
| 88 | +## Contributing |
| 89 | +If you wish to contribute to this project, please follow these steps: |
| 90 | + |
| 91 | +1. Fork this repository. |
| 92 | +2. Create a branch for your feature: git checkout -b feature/feature-name |
| 93 | +3. Commit your changes: git commit -m 'Added a new feature' |
| 94 | +4. Push your branch: git push origin feature/feature-name |
| 95 | +5. Submit a Pull Request. |
| 96 | + |
| 97 | +## License |
| 98 | +This project is licensed under the MIT License. See the LICENSE file for details. |
| 99 | + |
| 100 | +Feel free to open issues or submit feature requests if you have ideas to enhance this project. |
10 | 101 |
|
11 | | -## Setup |
12 | | -1. Follow the [getting started](https://developers.notion.com/docs/create-a-notion-integration#create-your-integration-in-notion) to get your `NOTION_API_SECRET` & `NOTION_PAGE_ID`. |
13 | | -2. Follow the [getting started](https://api-docs.igdb.com/#getting-started) IGDB API to get your `IGDB_CLIENT_ID` & `IGDB_SECRET` |
14 | | -3. Put these in your `.env` file |
15 | | -4. Complete `.env` following the `.env.example` file |
16 | | -5. Run `docker-compose up` command |
| 102 | +## Contributors |
0 commit comments