{"id":21618676,"url":"https://github.com/mmilk23/image_unmirrorer","last_synced_at":"2026-04-18T14:32:13.049Z","repository":{"id":264408935,"uuid":"893249442","full_name":"mmilk23/image_unmirrorer","owner":"mmilk23","description":"Image Unmirrorer is an API that allows users to upload an image and receive a horizontally mirrored version in return. Developed with Elixir, this project can be easily run using Docker, making it simple and quick to set up.","archived":false,"fork":false,"pushed_at":"2025-04-29T04:45:51.000Z","size":16516,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-29T05:29:27.924Z","etag":null,"topics":["docker","docker-compose","elixir","image-editing-api","image-manipulation","image-mirroring","image-processing","microservices","openapi"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mmilk23.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-11-23T23:20:25.000Z","updated_at":"2025-04-29T04:45:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"5c680243-c120-419c-af5a-9f608e8998f9","html_url":"https://github.com/mmilk23/image_unmirrorer","commit_stats":null,"previous_names":["mmilk23/image_unmirrorer"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mmilk23/image_unmirrorer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmilk23%2Fimage_unmirrorer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmilk23%2Fimage_unmirrorer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmilk23%2Fimage_unmirrorer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmilk23%2Fimage_unmirrorer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mmilk23","download_url":"https://codeload.github.com/mmilk23/image_unmirrorer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmilk23%2Fimage_unmirrorer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31972301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"online","status_checked_at":"2026-04-18T02:00:07.018Z","response_time":103,"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":["docker","docker-compose","elixir","image-editing-api","image-manipulation","image-mirroring","image-processing","microservices","openapi"],"created_at":"2024-11-24T23:06:29.380Z","updated_at":"2026-04-18T14:32:13.028Z","avatar_url":"https://github.com/mmilk23.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Image Unmirrorer\n\n[![Build Status](https://github.com/mmilk23/image_unmirrorer/actions/workflows/elixir.yml/badge.svg)](https://github.com/mmilk23/image_unmirrorer/actions)\n[![codecov](https://codecov.io/gh/mmilk23/image_unmirrorer/branch/main/graph/badge.svg)](https://codecov.io/gh/mmilk23/image_unmirrorer)\n[![Coverage Status](https://coveralls.io/repos/github/mmilk23/image_unmirrorer/badge.svg)](https://coveralls.io/github/mmilk23/image_unmirrorer)\n![Dependabot](https://img.shields.io/badge/Dependabot-enabled-brightgreen)\n[![Last Updated](https://img.shields.io/github/last-commit/mmilk23/image_unmirrorer.svg)](https://github.com/mmilk23/image_unmirrorer/commits/main)\n\n\nThe **Image Unmirrorer** \n\nThis project provides a set of APIs for image manipulation and processing, currently under active development. The /mirror endpoint allows users to upload an image and receive a horizontally mirrored version, while the /grayscale endpoint returns a grayscale version of the uploaded image.\n\nDeveloped in Elixir and containerized with Docker, the project is easy to set up and deploy. It serves as an excellent example application for newcomers to Elixir programming, demonstrating fundamental concepts in API design and image processing.\n\n## Features\n- Mirrors/grayscale uploaded images (supports JPEG and PNG formats).\n- Easy integration via RESTful API.\n\n## Live Demo 🌟\n\nExplore the features of the application through the link below:\n\n🔗 [Try the Live Demo](https://image-unmirrorer.gigalixirapp.com/testmirror.html) (https://image-unmirrorer.gigalixirapp.com/testgrayscale.html)\n\n### OpenAPI Specification\nTo access the API specification (OpenAPI), click the link below:\n\n📜 [View OpenAPI Spec](https://image-unmirrorer.gigalixirapp.com/openapi.json)\n\n\n## How to Run the Project\n\n### Requirements\n- Docker\n- Elixir (if you wish to run it locally without Docker)\n\n### Running with Docker\n1. Clone the repository:\n   ```sh\n   git clone https://github.com/mmilk23/image_unmirrorer.git\n   cd image_unmirrorer\n   ```\n\n2. Build and run the container:\n   ```sh\n   docker build -t image_unmirrorer .\n   docker run -p 4000:4000 image_unmirrorer\n   ```\n\n3. Access the application in your browser:\n   ```\n   http://localhost:4000\n   ```\n\n### Running Locally (Without Docker)\n1. Clone the repository:\n   ```sh\n   git clone https://github.com/mmilk23/image_unmirrorer.git\n   cd image_unmirrorer\n   ```\n\n2. Install dependencies:\n   ```sh\n   mix deps.get\n   ```\n\n3. Compile the project:\n   ```sh\n   mix clean\n   mix compile\n   ```\n\n4. Run the application:\n   ```sh\n   mix run --no-halt\n   ```\n\n5. Access the application in your browser:\n   ```\n   http://localhost:4000\n   ```\n\n## API Endpoints\n- **POST /mirror**: Receives an image and returns its horizontally mirrored version.\n- **POST /grayscale**: Receives an image and returns a grayscale version of the image.\n- **GET /openapi.json**: Provides the OpenAPI specification for the API.\n\n\n### Example Request\n```sh\ncurl -X POST http://localhost:4000/mirror -H \"Content-Type: image/jpeg\" --data-binary @your_image.jpg -o image-mirror.jpg\n```\n\n## Testing\nYou can test the application by accessing the `testmirror.html` file in your browser:\n```\nhttp://localhost:4000/testmirror.html\nhttp://localhost:4000/testgrayscale.html\n```\n\nAlternatively, you can use a CURL command:\n```sh\ncurl -X POST -H \"Content-Type: image/jpeg\" --data-binary @your_image.jpg http://localhost:4000/mirror --output image-mirror.jpg\n```\n\nTo run coverage tests:\n```sh\nmix test --cover\n```\n\n## Technologies Used\n- Elixir\n- Docker\n\n## Contributing\nContributions are more than welcome! \nFeel free to submit a pull request or open an issue to discuss improvements or report bugs.\n\n## License\nThis project is licensed under the MIT License.\n\n## Disclaimer\nThis project was developed as part of a system architecture playground and is not recommended for production environments without an in-depth review.\n\nIf you found this project helpful, please consider giving it a star ⭐️.\n\n## Contact\nFor more information, visit the [GitHub repository](https://github.com/mmilk23/image_unmirrorer).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmilk23%2Fimage_unmirrorer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmmilk23%2Fimage_unmirrorer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmilk23%2Fimage_unmirrorer/lists"}