{"id":14977498,"url":"https://github.com/ahmedukamel/e-commerce","last_synced_at":"2025-10-11T18:10:14.501Z","repository":{"id":222588598,"uuid":"756978139","full_name":"AhmedUKamel/E-Commerce","owner":"AhmedUKamel","description":"Innovative e-commerce platform designed to revolutionize the digital shopping experience for both businesses and consumers.","archived":false,"fork":false,"pushed_at":"2024-03-12T18:50:34.000Z","size":580,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-08T15:48:38.330Z","etag":null,"topics":["i18n","internationalization","java","jdbc-connector","multi-language","mysql","oauth2","rest-api","restful-api","role-based-access-control","spring-boot","spring-data","spring-data-jpa","spring-framework","spring-security","springboot","sql-database","validation"],"latest_commit_sha":null,"homepage":"","language":"Java","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/AhmedUKamel.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}},"created_at":"2024-02-13T17:10:30.000Z","updated_at":"2024-11-22T16:17:01.000Z","dependencies_parsed_at":"2024-02-15T05:24:46.490Z","dependency_job_id":"e15f2a6c-fac9-45e6-ad02-998aebd9887a","html_url":"https://github.com/AhmedUKamel/E-Commerce","commit_stats":null,"previous_names":["ahmedukamel/e-commerce"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AhmedUKamel/E-Commerce","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AhmedUKamel%2FE-Commerce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AhmedUKamel%2FE-Commerce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AhmedUKamel%2FE-Commerce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AhmedUKamel%2FE-Commerce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AhmedUKamel","download_url":"https://codeload.github.com/AhmedUKamel/E-Commerce/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AhmedUKamel%2FE-Commerce/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279008298,"owners_count":26084428,"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-11T02:00:06.511Z","response_time":55,"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":["i18n","internationalization","java","jdbc-connector","multi-language","mysql","oauth2","rest-api","restful-api","role-based-access-control","spring-boot","spring-data","spring-data-jpa","spring-framework","spring-security","springboot","sql-database","validation"],"created_at":"2024-09-24T13:55:46.608Z","updated_at":"2025-10-11T18:10:14.485Z","avatar_url":"https://github.com/AhmedUKamel.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cbr\u003e\n    \u003ca href=\"#\"\u003e\n      \u003cimg src=\"./images/logo.png\" alt=\"logo\" width=\"400\"\u003e\n    \u003c/a\u003e\n  \u003cbr\u003e\n  E - Commerce\n  \u003cbr\u003e\n\u003c/h1\u003e\n\n\u003cp align='center'\u003e\n  \u003ca href=\"#introduction\"\u003eIntroduction\u003c/a\u003e •\n  \u003ca href=\"#overview\"\u003eOverview\u003c/a\u003e •\n  \u003ca href=\"#main-features\"\u003eMain Features\u003c/a\u003e •\n  \u003ca href=\"#dependencies\"\u003eDependencies\u003c/a\u003e •\n  \u003ca href=\"#configuration\"\u003eConfiguration\u003c/a\u003e •\n  \u003ca href=\"#download\"\u003eDownload\u003c/a\u003e •\n  \u003ca href=\"#start-application\"\u003eStart Application\u003c/a\u003e •\n  \u003ca href=\"#how-to-use\"\u003eHow To Use\u003c/a\u003e •\n  \u003ca href=\"#documentation\"\u003eDocumentation\u003c/a\u003e •\n  \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\n\u003c/p\u003e\n\n## Introduction\n\nE-commerce, revolutionizes the way businesses and consumers interact in the digital age. It encompasses the buying and selling of products and services over the internet, making transactions seamless and accessible from anywhere with an internet connection.\n\n## Overview\n\n![schema](./images/schema.svg)\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003cth align=\"center\"\u003e\n      \u003cimg width=\"441\" height=\"1\"\u003e\n      \u003cp\u003e\u003csmall\u003eInformation\u003c/small\u003e\u003c/p\u003e\n    \u003c/th\u003e\n    \u003cth align=\"center\"\u003e\n      \u003cimg width=\"441\" height=\"1\"\u003e\n      \u003cp\u003e\u003csmall\u003eQuantity\u003c/small\u003e\u003c/p\u003e\n    \u003c/th\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align='center'\u003eLines of Code\u003c/td\u003e\n    \u003ctd align='center'\u003e7.5K+\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align='center'\u003eJava Classes\u003c/td\u003e\n    \u003ctd align='center'\u003e240+\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align='center'\u003eEndpoints\u003c/td\u003e\n    \u003ctd align='center'\u003e130+\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align='center'\u003eTables\u003c/td\u003e\n    \u003ctd align='center'\u003e30\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n- View database schema diagram on [dbdiagram.io](https://dbdiagram.io/d/E-Commerce-65ca0de8ac844320aef41179)\n- Explore the database schema details on [dbdocs.io](https://dbdocs.io/ahmedukamel/E-Commerce)\n\n## Main Features\n\n- [x] Comprehensive Multilingual Support **(Internationalization - i18n)**\n  - platform offers robust multilingual support (i18n) implemented at both database and coding levels, ensuring seamless communication and user experience across languages\n- [x] Guest Browsing\n  - Allow users to view and browse products and categories without requiring account creation, enhancing accessibility and user experience.\n- [x] Role-Based Access Control **(RBAC)**\n  1. **_Customer:_** Represents the end-users who browse and make purchases on the platform\n  2. **_Super Admin:_** Manages system-wide user accounts, with the ability to enable or disable accounts and assign or modify user roles as needed\n  3. **_Admin:_**\n     - Manage categories and sub-categories\n     - Manage products and pricing\n     - Oversee customer notifications\n     - Monitor product reviews and review reports\n     - Track demand for unavailable products\n  4. **_Delivery:_**\n     - Access all prepared orders awaiting delivery\n     - Manage order statuses and shipment details\n  5. **_Content Creator:_** Manages advertisements and blog posts\n- [x] Authentication via Json Web Tokens **(JWT)**\n- [x] OAuth2 with **Google** and **Facebook**\n- [x] Mail Sender Service\n  - Account Activation Email\n  - Forget Password Email\n- [x] Account Management\n  - Allow users to manage their profiles, and addresses\n- [x] Category and Sub-category Navigation\n  - Explore and refine search results effortlessly by organized categories and sub-categories\n- [x] Wishlist\n  - list of favorite products for future reference or purchase, facilitating easy access and organization of desired items\n- [x] Notifications\n  - Provide users with the option to receive alerts and notifications for price reductions or product restocks on items saved in their wishlist, ensuring they stay informed about relevant updates and opportunities\n- [x] Product Review and Rating System\n  - Enable customers to provide feedback and ratings for products, facilitating informed decision-making for other shoppers\n  - Additionally, provide the functionality to report reviews as necessary\n- [x] Order Tracking\n  - Allow customers to track the status of their orders in real-time, providing updates from processing to delivery.\n- [x] Compatibility Across Platforms\n  - Supported on _Linux_, _macOS_, and _Windows_\n\n## Dependencies\n\n- **JDK 17**\n\n  - Visit the official Oracle website and choose an operating system file from [here](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html)\n  - Follow the provided installation instructions tailored to your operating system\n\n- **MySQL Installation**\n  - Download the installer from the official MySQL website [here](https://dev.mysql.com/downloads/mysql/)\n  - Proceed with the installation steps specific to your operating system\n\n## Configuration\n\n- Write the following commands in `MySQL Command Line Client` to create user, grant privileges, and create database.\n\n```sql\nCREATE USER 'ecommerce_user'@'localhost' IDENTIFIED BY 'password_ecommerce';\n```\n\n```sql\nGRANT ALL PRIVILEGES ON * . * TO 'ecommerce_user'@'localhost';\n```\n\n```sql\nFLUSH PRIVILEGES;\n```\n\n```sql\nCREATE DATABASE e_commerce_api_database;\n```\n\n## Download\n\nYou can find the JAR file for download by accessing the repository. Simply click `Download ZIP` on the repository link or click [here](https://github.com/AhmedUKamel/E-Commerce/archive/refs/heads/main.zip) to access the repository files. Alternatively, you can use Git by following the command below:\n\n```bash\ngit clone https://github.com/AhmedUKamel/E-Commerce.git\n```\n\n## Start Application\n\n```bash\ncd path/to/E-Commerce/output\n```\n\n```bash\njava -jar ecommerce-0.0.1-SNAPSHOT.jar\n```\n\n**Output**\n\n    INFO 49785 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port 8080 (http) with context path ''\n    INFO 49785 --- [  restartedMain] o.a.ecommerce.EcommerceApplication       : Started EcommerceApplication in x seconds (process running for x)\n\n## How To Use\n\n- Open preferred browser and go to **http://localhost:8080** or **http://127.0.0.1:8080**\n\n**Output**\n\n\u003cp align='center'\u003e\n  \u003cimg src=\"./images/screenshot1.png\" alt=\"screenshot1\"/\u003e\n\u003c/p\u003e\n\n## Documentation\n\nTo utilize the e-commerce APIs effectively, please refer to the comprehensive documentation provided through Postman. This documentation offers detailed insights into the available endpoints, request parameters, and response formats.\n\nAccess the documentation here: [Documentation on Postman](https://documenter.getpostman.com/view/26297954/2s9YysBLzk#f94594c2-abc2-4ec9-a081-799976c08d65)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n\u003cp align='center'\u003e\n  Follow me on \u003cb\u003eLinkedIn\u003c/b\u003e\n  \u003ca href='https://www.linkedin.com/in/ahmedukamel' target='_blank'\u003e@ahmedukamel\u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmedukamel%2Fe-commerce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahmedukamel%2Fe-commerce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmedukamel%2Fe-commerce/lists"}