{"id":15808444,"url":"https://github.com/Schroedinger-Hat/ImageGoNord-Web","last_synced_at":"2025-10-16T10:31:54.039Z","repository":{"id":38338915,"uuid":"281151556","full_name":"Schroedinger-Hat/ImageGoNord-Web","owner":"Schroedinger-Hat","description":"A tool that can convert your rgb images to nordtheme palette","archived":false,"fork":false,"pushed_at":"2025-07-10T12:42:53.000Z","size":16098,"stargazers_count":908,"open_issues_count":7,"forks_count":35,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-10-11T18:27:13.379Z","etag":null,"topics":["color-palette","color-scheme","conversion-utility","gruvbox","hacktoberfest","image-processing","pillow","python","rgb-images","ui","vue-cli"],"latest_commit_sha":null,"homepage":"https://ign.schroedinger-hat.org/","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Schroedinger-Hat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":null,"open_collective":"schrodinger-hat","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2020-07-20T15:15:29.000Z","updated_at":"2025-10-07T20:53:21.000Z","dependencies_parsed_at":"2023-01-19T15:46:38.714Z","dependency_job_id":"c6512b85-8fe0-4ac5-8456-c3c4b9b108ec","html_url":"https://github.com/Schroedinger-Hat/ImageGoNord-Web","commit_stats":{"total_commits":368,"total_committers":22,"mean_commits":"16.727272727272727","dds":0.375,"last_synced_commit":"959b3138c1f059a69928bfa2d4c4ce3e92e6c0db"},"previous_names":["schroedinger-hat/imagegonord","schroedinger-hat/imagegonord-web"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Schroedinger-Hat/ImageGoNord-Web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Schroedinger-Hat%2FImageGoNord-Web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Schroedinger-Hat%2FImageGoNord-Web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Schroedinger-Hat%2FImageGoNord-Web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Schroedinger-Hat%2FImageGoNord-Web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Schroedinger-Hat","download_url":"https://codeload.github.com/Schroedinger-Hat/ImageGoNord-Web/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Schroedinger-Hat%2FImageGoNord-Web/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279179085,"owners_count":26120360,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-16T02:00:06.019Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["color-palette","color-scheme","conversion-utility","gruvbox","hacktoberfest","image-processing","pillow","python","rgb-images","ui","vue-cli"],"created_at":"2024-10-05T03:01:56.173Z","updated_at":"2025-10-16T10:31:54.033Z","avatar_url":"https://github.com/Schroedinger-Hat.png","language":"Vue","readme":"# ImageGoNord Website - RGB image to Nordtheme palette\n\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-8-orange.svg?style=flat-square)](#contributors-)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\nImage Go Nord is a tool that can convert your rgb images to not only [Nordtheme](https://www.nordtheme.com/) palette.\n**IGN is a tool that can convert your rgb images to any palette!**\n\nThis repository is:\n- an API hosted on K8s that is using the [ImageGoNord Python package](https://github.com/schroedinger-hat/ImageGoNord-pip) written in Flask;\n- a demo website made in VueJS hosted on Netlify which can convert your image or video into any palette!\n\n**Are you looking for the python package?**\n\nThe official python package's repository is [ImageGoNord-pip](https://github.com/schroedinger-hat/ImageGoNord-pip). You are welcome :)\n\n## Recap\n\n- [Inspiration](#inspiration)\n- [Core Technical Concepts](#core-technical-concepts)\n- [Getting Started](#getting-started)\n- [Running `ign-api` locally with Docker](#running-ign-api-locally-with-docker)\n- [How to add a new palette on the website?](#how-to-add-a-new-palette-on-the-website)\n- [Contributing](#contributing)\n\n### Inspiration\n\nWe are in love with Nordtheme and Linux Rice, that is why we created this repository.\n\nOur goal is to make a shortcut to convert image or video into any theme.\n\u003cbr\u003eAn example could be an awesome wallpaper converted into the Nordtheme palette.\n\n\u003cimg src=\"https://raw.githubusercontent.com/schroedinger-hat/ImageGoNord-web/master/images/ign-demo-image.gif\"\u003e\n\n\u003cbr\u003eOr an example of an image converted into the Gruvbox palette\n\n\u003cimg src=\"https://raw.githubusercontent.com/schroedinger-hat/ImageGoNord-web/master/images/ign-demo-gruvbox.gif\"\u003e\n\n\u003cbr\u003e\n\nWe checked the commnunity and we did not find anything similar or any project that can accomplish this task. So, here we are.\n\n### Core Technical Concepts\n\nWe are using the PIL because it is the most simple library and it is very useful when you need to manipulate some images.\n\nRedis is our Pub/Sub store and queue management.\n\nWith Gunicorn we're executing our Flask API which is posting in a queue some convert jobs from the frontend.\n\nThen we have 3 workers that are running in background in our Docker container where are processing via ImageGoNord Python package the images.\n\nOur goal is also to make this project open source and maintainable by the community. We would love to.\n\n*We believe in the open source community.*\n\n### Getting Started\n\nClone the repository then go to the `src/ign-frontend` folder\n\n```npm install \u0026\u0026 npm run serve```\n\nThis will bring our website in your local.\nBy default we're using the same endpoint you'll find on the demo website.\n\nTo develop your API locally refer to the following.\n\n### Running `ign-api` locally with Docker\n\n#### 1. **Navigate to the Project Root**\n\n  Ensure you are in the root directory of the project:\n\n  ```sh\n  cd ImageGoNord-web\n  ```\n\n#### 2. **Build the Docker Image**\n\n  Build the Docker image for `ign-api`:\n\n  ```sh\n  docker-compose build\n  ```\n\n#### 3. **Start the Docker Containers**\n\n  Start the Docker containers using Docker Compose:\n\n  ```sh\n  docker-compose up\n  ```\n\n  The API should now be running at `http://localhost:8000`.\n\n#### **Stopping the Docker Containers**\n\nTo stop the Docker containers, run:\n\n```sh\ndocker-compose down\n```\n\n#### **Rebuilding the Docker Image**\n\nIf you make changes to the Dockerfile or dependencies, you may need to rebuild the Docker image:\n\n```sh\ndocker-compose build\n```\n\n#### **Accessing Logs**\n\nTo view the logs of the running containers, use:\n\n```sh\ndocker-compose logs\n```\n\n--------\n\n### How to add a new palette on the website?\n\nIt's very easy and you can refer to this [PR](https://github.com/schroedinger-hat/ImageGoNord-web/pull/150) as a sort of documentation.\n\n**What I need to do?**\nYou need to create a JSON file in `src/ign-frontend/src/assets/palettes/[themeName].json` with the following format:\n\n```\n{\n    \"name\": \"yourThemeName\",\n    \"colors\": [\n        \"#FFFFFF\",\n        \"#FFFFFF\",\n        \"YOUR_HEXs\"\n    ]\n}\n```\n\nAfter this, please find a good image (e.g. Dracula image) or a palette primary color image (you can use [coolors](https://coolors.co/)), then add it in the `src/ign-frontend/src/assets/palettes/img/[themeName].png` folder.\n\nThen, you need to make this palette available in the demo website by upading the `src/ign-frontend/src/assets/palettes/available-palettes.json` with the following format:\n\n```\n{\n    \"name\": \"[themeName]\",\n    \"img\": \"palettes/img/[themeName].png\",\n    \"file\": \"palettes/[themeName].json\"\n}\n```\n\nVerify that everything is working great and open a PR :)\n\n### Contributing\n- Follow the contributor guidelines\n- Follow the code style / requirements\n- Format for commit messages\n\n# Authors\n\n[TheJoin95](https://github.com/TheJoin95) \u0026 [Wabri](https://github.com/Wabri)\n\n## Contributors\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://www.linkedin.com/in/%F0%9F%90%A7gabriele-puliti-b62915a9/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/12409541?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eGabrielePuliti\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/schroedinger-hat/ImageGoNord-web/commits?author=Wabri\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/schroedinger-hat/ImageGoNord-web/commits?author=Wabri\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#design-Wabri\" title=\"Design\"\u003e🎨\u003c/a\u003e \u003ca href=\"#ideas-Wabri\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#maintenance-Wabri\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"#projectManagement-Wabri\" title=\"Project Management\"\u003e📆\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://www.mikilombardi.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/6616203?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMiki Lombardi\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/schroedinger-hat/ImageGoNord-web/commits?author=TheJoin95\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/schroedinger-hat/ImageGoNord-web/commits?author=TheJoin95\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#design-TheJoin95\" title=\"Design\"\u003e🎨\u003c/a\u003e \u003ca href=\"#ideas-TheJoin95\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#maintenance-TheJoin95\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"#projectManagement-TheJoin95\" title=\"Project Management\"\u003e📆\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/BugliL\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/3107276?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eBugliL\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/schroedinger-hat/ImageGoNord-web/commits?author=BugliL\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#design-BugliL\" title=\"Design\"\u003e🎨\u003c/a\u003e \u003ca href=\"#ideas-BugliL\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#maintenance-BugliL\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"#projectManagement-BugliL\" title=\"Project Management\"\u003e📆\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"http://abod1960.cf\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/79435005?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAbdullah Omar\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#design-Abod1960\" title=\"Design\"\u003e🎨\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/jlc893\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/77926457?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJason\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#design-jlc893\" title=\"Design\"\u003e🎨\u003c/a\u003e \u003ca href=\"https://github.com/schroedinger-hat/ImageGoNord-web/commits?author=jlc893\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"https://github.com/schroedinger-hat/ImageGoNord-web/commits?author=jlc893\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/senali-d\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/52546856?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSenali\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/schroedinger-hat/ImageGoNord-web/commits?author=senali-d\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://juancldcmt.github.io\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/72336775?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJuanCC\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#design-JuanCldCmt\" title=\"Design\"\u003e🎨\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.linkedin.com/in/veronica-papini-5a546b179\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/86972949?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eVeronica Papini\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/schroedinger-hat/ImageGoNord-web/commits?author=VeroPap\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\n### License\n\n[MIT license](https://github.com/schroedinger-hat/ImageGoNord-web/blob/master/LICENSE)\n","funding_links":["https://opencollective.com/schrodinger-hat"],"categories":["Vue"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSchroedinger-Hat%2FImageGoNord-Web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSchroedinger-Hat%2FImageGoNord-Web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSchroedinger-Hat%2FImageGoNord-Web/lists"}