{"id":29311457,"url":"https://github.com/falasefemi2/ecommerce","last_synced_at":"2026-04-16T10:34:37.033Z","repository":{"id":302449857,"uuid":"1012172366","full_name":"Falasefemi2/ecommerce","owner":"Falasefemi2","description":"A full-featured e-commerce application built with Spring Boot, enabling users to browse products, manage shopping carts, and securely place orders. Features include product categorization, order management, and an admin panel for managing inventory. Powered by Spring Boot, Spring Data JPA, MySQL","archived":false,"fork":false,"pushed_at":"2025-07-02T12:05:17.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-02T13:21:56.297Z","etag":null,"topics":["e-commerce","java","maven","mysql","rest-api","spring-boot","spring-data-jpa","web-application"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Falasefemi2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-07-01T23:51:38.000Z","updated_at":"2025-07-02T12:09:25.000Z","dependencies_parsed_at":"2025-07-02T13:32:57.282Z","dependency_job_id":null,"html_url":"https://github.com/Falasefemi2/ecommerce","commit_stats":null,"previous_names":["falasefemi2/ecommerce"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Falasefemi2/ecommerce","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Falasefemi2%2Fecommerce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Falasefemi2%2Fecommerce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Falasefemi2%2Fecommerce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Falasefemi2%2Fecommerce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Falasefemi2","download_url":"https://codeload.github.com/Falasefemi2/ecommerce/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Falasefemi2%2Fecommerce/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264040975,"owners_count":23548077,"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":["e-commerce","java","maven","mysql","rest-api","spring-boot","spring-data-jpa","web-application"],"created_at":"2025-07-07T08:14:49.458Z","updated_at":"2026-04-16T10:34:36.959Z","avatar_url":"https://github.com/Falasefemi2.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- @format --\u003e\n\n# E-commerce Project\n\nA simple e-commerce application built with Java and Spring Boot.\n\n## Technologies Used\n\n- Java\n- Spring Boot\n- Maven\n\n## Setup and Installation\n\n1.  **Clone the repository:**\n    ```bash\n    git clone https://github.com/Falasefemi2/ecommerce.git\n    ```\n2.  **Navigate to the project directory:**\n    ```bash\n    cd ecommerce\n    ```\n3.  **Build the project:**\n    ```bash\n    ./mvnw clean install\n    ```\n\n## Usage\n\nRun the application using the following command:\n\n```bash\n./mvnw spring-boot:run\n```\n\nThe application will be available at `http://localhost:3080`.\n\n## API Endpoints\n\nThe following endpoints are available:\n\n### Product Endpoints\n\n- `GET /api/v1/products`: Get a list of all products.\n- `GET /api/v1/products/{productId}`: Get a specific product by its ID.\n- `POST /api/v1/products`: Create a new product.\n- `PUT /api/v1/products/{id}`: Update an existing product.\n- `DELETE /api/v1/products/{id}`: Delete a product by its ID.\n- `GET /api/v1/products/brand-and-name?brand={brand}\u0026name={name}`: Find products by brand and name.\n- `GET /api/v1/products/category-and-brand?category={category}\u0026brand={brand}`: Find products by category and brand.\n- `GET /api/v1/products/name?name={name}`: Find products by a name containing the given string.\n- `GET /api/v1/products/brand?brand={brand}`: Find products by brand.\n- `GET /api/v1/products/category/{category}`: Find products by category name.\n- `GET /api/v1/products/count?brand={brand}\u0026name={name}`: Count products by brand and name.\n\n### Category Endpoints\n\n- `GET /api/v1/categories`: Get a list of all categories.\n- `POST /api/v1/categories/add`: Create a new category.\n- `GET /api/v1/categories/{id}`: Get a specific category by its ID.\n- `GET /api/v1/categories/by-name`: Find products by category and brand.\n- `DELETE /api/v1/categories/{id}`: Delete a category by its ID.\n- `PUT /api/v1/categories/{id}`: Update an existing category.\n\n### Image Endpoints\n\n- `POST /api/v1/images`: Upload one or more images for a product.\n- `GET /api/v1/images/download/{imageId}`: Download an image by its ID.\n- `PUT /api/v1/images/{imageId}/update`: Update an existing image.\n- `DELETE /api/v1/images/{imageId}`: Delete an image by its ID.\n\n### Cart Endpoints\n\n- `GET /api/v1/carts/{cartId}`: Get a cart by its ID.\n- `DELETE /api/v1/carts/{cartId}/clear`: Clear a cart by its ID.\n- `GET /api/v1/carts/{cartId}/total`: Get the total amount of a cart by its ID.\n\n### Cart Item Endpoints\n\n- `POST /api/v1/cartsItem/{cartId}/items`: Add an item to a cart.\n- `POST /api/v1/cartsItem/items`: Add an item to a new cart.\n- `PUT /api/v1/cartsItem/{cartId}/items/{productId}`: Update the quantity of an item in a cart.\n- `DELETE /api/v1/cartsItem/{cartId}/items/{productId}`: Remove an item from a cart.\n\n### Order Endpoints\n\n-`POST /api/v1/orders`: Create a new order.\n-`GET /api/v1/orders/{orderId}`: Get an order by its ID.\n-`GET /api/v1/orders/users/{userId}/orders`: Get all orders for a user.\n\n### User Endpoints\n\n-`GET /api/v1/users/{userId}`: Get a user by their ID.\n-`POST /api/v1/users`: Create a new user.\n-`PUT /api/v1/users/{userId}`: Update an existing user.\n-`DELETE /api/v1/users/{userId}`: Delete a user by their ID.\n\nThe following tests are available:\n\n- `CategoryControllerTest.java`\n- `ImageControllerTest.java`\n- `ProductControllerTest.java`\n- `UserControllerTest.java`\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\n## Testing\n\nTo run the tests, use the following command:\n\n```bash\n./mvnw test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffalasefemi2%2Fecommerce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffalasefemi2%2Fecommerce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffalasefemi2%2Fecommerce/lists"}