{"id":19844584,"url":"https://github.com/elazzouzihassan/imageeditor","last_synced_at":"2025-09-18T12:31:04.428Z","repository":{"id":249192058,"uuid":"787839852","full_name":"ElazzouziHassan/ImageEditor","owner":"ElazzouziHassan","description":"AI-powered image manipulation SaaS platform designed to provide users with advanced tools for editing and enhancing their images.","archived":false,"fork":false,"pushed_at":"2025-01-06T19:05:57.000Z","size":11231,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-06T20:23:32.041Z","etag":null,"topics":["ai","bun","clerk","cloudinary","javascript","jsx","mongodb","nextjs","tailwindcss","tsx","typescript","vitejs","webapp"],"latest_commit_sha":null,"homepage":"https://smartcanvas.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ElazzouziHassan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-17T09:28:10.000Z","updated_at":"2025-01-06T19:05:54.000Z","dependencies_parsed_at":"2025-01-06T20:21:48.520Z","dependency_job_id":"c8cd7431-f987-4781-90c6-732eaaa60ab3","html_url":"https://github.com/ElazzouziHassan/ImageEditor","commit_stats":null,"previous_names":["elazzouzihassan/imageeditor"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElazzouziHassan%2FImageEditor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElazzouziHassan%2FImageEditor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElazzouziHassan%2FImageEditor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElazzouziHassan%2FImageEditor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ElazzouziHassan","download_url":"https://codeload.github.com/ElazzouziHassan/ImageEditor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233479080,"owners_count":18682309,"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","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":["ai","bun","clerk","cloudinary","javascript","jsx","mongodb","nextjs","tailwindcss","tsx","typescript","vitejs","webapp"],"created_at":"2024-11-12T13:04:44.735Z","updated_at":"2025-09-18T12:31:03.864Z","avatar_url":"https://github.com/ElazzouziHassan.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SmartCanvas AI Editor - README\n![Smart Canvas](public/github/banner.png)\n## Introduction\n\nWelcome to SmartCanvas, an AI-powered image manipulation SaaS platform designed to provide users with advanced tools for editing and enhancing their images. This repository contains the source code for the SmartCanvas project, which leverages machine learning models and cloud-based APIs to deliver a seamless and powerful image editing experience.\n\n![Smart Canvas](public/github/home.png)\n\n## Table of Contents\n\n- [Introduction](#introduction)\n- [Features](#features)\n- [Technologies Used](#technologies-used)\n- [Architecture](#architecture)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Contributing](#contributing)\n- [License](#license)\n- [Acknowledgements](#acknowledgements)\n\n## Features\n\n- **User Authentication**: Secure sign-up, login, and logout functionalities.\n- **Image Upload and Management**: Users can upload images, manage their accounts, and view their image gallery.\n- **Advanced Image Editing Tools**:\n  - Object Removal\n  - Background Removal\n  - Image Restoration\n  - Generative Fill\n  - Object Recoloring\n  - Image Extension\n- **Integration with Cloudinary API**: For processing images using various AI models.\n- **User Profile and Image Gallery**: Users can view their profile and access recently edited images.\n\n## Technologies Used\n\n- **Frontend**: Next.js (HTML5, Tailwind CSS, TypeScript), Shadcn/ui\n- **Backend**: Bun\n- **Database**: MongoDB\n- **Cloud Services**: Cloudinary for image processing\n- **Authentication**: Clerk\n- **Other Libraries**: Various Bun/ Bun x packages for frontend and backend development\n\n## Architecture\n\nThe architecture of SmartCanvas is designed to be scalable and maintainable. It consists of the following components:\n\n- **SmartCanvas**: The main application handling user interactions and coordinating between other components.\n- **Clerk**: Manages user authentication and database interactions.\n- **MongoDB**: Stores user data and image metadata.\n- **Cloudinary API**: Provides advanced image processing capabilities.\n  \n### Class Diagram\n\nThe class diagram illustrates the relationships between the main components:\n\n![Class Diagram](public/github/classdiagramme.png)\n\n### Sequence Diagram\n\nThe sequence diagram details the interactions during key user operations:\n\n![Sequence Diagram](public/github/seqdias2.png)\n\n## Installation\n\nTo set up the project locally, follow these steps:\n\n1. **Clone the Repository**:\n    ```bash\n    git clone git@github.com:ElazzouziHassan/ImageEditor.git\n    cd ImageEditor\n    ```\n\n2. **Install Dependencies**:\n    ```bash\n    bun install\n    ```\n-**Note!**: Some Dependencies you will need to add them by runnig `bun x add \u003cpackage name\u003e`\n\n3. **Set Up Environment Variables**:\n    Create a `.env` file in the root directory and add the following environment variables:\n    ```\n    # Clerk \u0026 Clerk URLs :\n    NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=\u003cYour public clerk key\u003e\n    CLERK_SECRET_KEY=\u003cYour secret clerk key\u003e\n\n    NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in\n    NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up\n\n    NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/\n    NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/\n\n    # MongoDB :\n    MONGODB_URL=\u003cYour mongoDB URL\u003e\n\n    # CLERK WEBHOOK SECRET KEY :\n    WEBHOOK_SECRET=\u003cYour Clerk webhook secret key\u003e\n\n    #CLOUDINARY\n    NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=\u003cYour cloudinary username\u003e\n    CLOUDINARY_API_KEY=\u003cYour API key\u003e\n    CLOUDINARY_API_SECRET=\u003cYour API secret key\u003e\n\n    # STRIPE\n    NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=\u003cYour stripe public key\u003e\n    STRIPE_SECRET_KEY=\u003cYour stripe secret key\u003e\n    STRIPE_WEBHOOK_SECRET=\u003cYour stripe webhook key\u003e\n    ```\n4. **Run the Application**:\n    ```bash\n     bun run dev\n    ```\n\n## Usage\n\nOnce the application is running, you can access it at `http://localhost:3000`. Create an account, log in, and start uploading and editing images using the available tools.\n\n## Contributing\n\nWe welcome contributions to improve SmartCanvas! To contribute:\n\n1. Fork the repository.\n2. Create a new branch for your feature or bugfix.\n    ```bash\n    git checkout -b feature-name\n    ```\n3. Make your changes.\n4. Commit your changes.\n    ```bash\n    git commit -m \"Description of your changes\"\n    ```\n5. Push to your branch.\n    ```bash\n    git push origin feature-name\n    ```\n6. Open a pull request.\n\n## License\n\nThis project is licensed under a custom licence. See the [LICENSE](LICENSE.md) file for details.\n\n## Acknowledgements\n\n- **Cloudinary**: For providing robust image processing services.\n- **Clerk**: For seamless user authentication.\n- **MongoDB**: For reliable and scalable database services.\n\n---\n\nThank you for using SmartCanvas! We hope you find it valuable for your image editing needs. If you have any questions or feedback, please feel free to open an issue or contact us.\n[Email](mailto:ezhassan.info@gmail.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felazzouzihassan%2Fimageeditor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felazzouzihassan%2Fimageeditor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felazzouzihassan%2Fimageeditor/lists"}