https://github.com/schroedinger-hat/imagegonord-web
A tool that can convert your rgb images to nordtheme palette
https://github.com/schroedinger-hat/imagegonord-web
color-palette color-scheme conversion-utility gruvbox hacktoberfest image-processing pillow python rgb-images ui vue-cli
Last synced: 14 days ago
JSON representation
A tool that can convert your rgb images to nordtheme palette
- Host: GitHub
- URL: https://github.com/schroedinger-hat/imagegonord-web
- Owner: Schroedinger-Hat
- License: agpl-3.0
- Created: 2020-07-20T15:15:29.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-02-03T14:26:40.000Z (4 months ago)
- Last Synced: 2025-05-11T08:27:42.440Z (18 days ago)
- Topics: color-palette, color-scheme, conversion-utility, gruvbox, hacktoberfest, image-processing, pillow, python, rgb-images, ui, vue-cli
- Language: Vue
- Homepage: https://ign.schroedinger-hat.org/
- Size: 15.3 MB
- Stars: 880
- Watchers: 10
- Forks: 35
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# ImageGoNord Website - RGB image to Nordtheme palette
[](#contributors-)
Image Go Nord is a tool that can convert your rgb images to not only [Nordtheme](https://www.nordtheme.com/) palette.
**IGN is a tool that can convert your rgb images to any palette!**This repository is:
- an API hosted on K8s that is using the [ImageGoNord Python package](https://github.com/schroedinger-hat/ImageGoNord-pip) written in Flask;
- a demo website made in VueJS hosted on Netlify which can convert your image or video into any palette!**Are you looking for the python package?**
The official python package's repository is [ImageGoNord-pip](https://github.com/schroedinger-hat/ImageGoNord-pip). You are welcome :)
## Recap
- [Inspiration](#inspiration)
- [Core Technical Concepts](#core-technical-concepts)
- [Getting Started](#getting-started)
- [Running `ign-api` locally with Docker](#running-ign-api-locally-with-docker)
- [How to add a new palette on the website?](#how-to-add-a-new-palette-on-the-website)
- [Contributing](#contributing)### Inspiration
We are in love with Nordtheme and Linux Rice, that is why we created this repository.
Our goal is to make a shortcut to convert image or video into any theme.
An example could be an awesome wallpaper converted into the Nordtheme palette.
Or an example of an image converted into the Gruvbox palette
We checked the commnunity and we did not find anything similar or any project that can accomplish this task. So, here we are.
### Core Technical Concepts
We are using the PIL because it is the most simple library and it is very useful when you need to manipulate some images.
Redis is our Pub/Sub store and queue management.
With Gunicorn we're executing our Flask API which is posting in a queue some convert jobs from the frontend.
Then we have 3 workers that are running in background in our Docker container where are processing via ImageGoNord Python package the images.
Our goal is also to make this project open source and maintainable by the community. We would love to.
*We believe in the open source community.*
### Getting Started
Clone the repository then go to the `src/ign-frontend` folder
```npm install && npm run serve```
This will bring our website in your local.
By default we're using the same endpoint you'll find on the demo website.To develop your API locally refer to the following.
### Running `ign-api` locally with Docker
#### 1. **Navigate to the Project Root**
Ensure you are in the root directory of the project:
```sh
cd ImageGoNord-web
```#### 2. **Build the Docker Image**
Build the Docker image for `ign-api`:
```sh
docker-compose build
```#### 3. **Start the Docker Containers**
Start the Docker containers using Docker Compose:
```sh
docker-compose up
```The API should now be running at `http://localhost:8000`.
#### **Stopping the Docker Containers**
To stop the Docker containers, run:
```sh
docker-compose down
```#### **Rebuilding the Docker Image**
If you make changes to the Dockerfile or dependencies, you may need to rebuild the Docker image:
```sh
docker-compose build
```#### **Accessing Logs**
To view the logs of the running containers, use:
```sh
docker-compose logs
```--------
### How to add a new palette on the website?
It's very easy and you can refer to this [PR](https://github.com/schroedinger-hat/ImageGoNord-web/pull/150) as a sort of documentation.
**What I need to do?**
You need to create a JSON file in `src/ign-frontend/src/assets/palettes/[themeName].json` with the following format:```
{
"name": "yourThemeName",
"colors": [
"#FFFFFF",
"#FFFFFF",
"YOUR_HEXs"
]
}
```After 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.
Then, 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:
```
{
"name": "[themeName]",
"img": "palettes/img/[themeName].png",
"file": "palettes/[themeName].json"
}
```Verify that everything is working great and open a PR :)
### Contributing
- Follow the contributor guidelines
- Follow the code style / requirements
- Format for commit messages# Authors
[TheJoin95](https://github.com/TheJoin95) & [Wabri](https://github.com/Wabri)
## Contributors
GabrielePuliti
💻 📖 🎨 🤔 🚧 📆
Miki Lombardi
💻 📖 🎨 🤔 🚧 📆
BugliL
💻 🎨 🤔 🚧 📆
Abdullah Omar
🎨
Jason
🎨 📖 💻
Senali
📖
JuanCC
🎨
Veronica Papini
📖
### License
[MIT license](https://github.com/schroedinger-hat/ImageGoNord-web/blob/master/LICENSE)