{"id":19056716,"url":"https://github.com/luxuereal/keyist_angular-ngrx-springboot","last_synced_at":"2026-06-25T07:31:13.889Z","repository":{"id":203757935,"uuid":"710339427","full_name":"luxuereal/Keyist_Angular-NgRx-SpringBoot","owner":"luxuereal","description":"Keyist e-commerce site built with Spring Boot, Angular and NgRx","archived":false,"fork":false,"pushed_at":"2023-12-12T04:51:28.000Z","size":6485,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-02T11:43:39.912Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/luxuereal.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}},"created_at":"2023-10-26T13:54:21.000Z","updated_at":"2023-12-07T09:36:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"d6b41511-e234-4f38-986c-68409ecdb5e5","html_url":"https://github.com/luxuereal/Keyist_Angular-NgRx-SpringBoot","commit_stats":null,"previous_names":["deverabit/keyist_angular-ngrx-springboot","luxuereal/keyist_angular-ngrx-springboot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luxuereal%2FKeyist_Angular-NgRx-SpringBoot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luxuereal%2FKeyist_Angular-NgRx-SpringBoot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luxuereal%2FKeyist_Angular-NgRx-SpringBoot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luxuereal%2FKeyist_Angular-NgRx-SpringBoot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luxuereal","download_url":"https://codeload.github.com/luxuereal/Keyist_Angular-NgRx-SpringBoot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240112838,"owners_count":19749700,"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":[],"created_at":"2024-11-08T23:51:11.664Z","updated_at":"2026-05-11T17:30:20.228Z","avatar_url":"https://github.com/luxuereal.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Keyist Ecommerce\n\n\n![alt text](https://github.com/deverabit/Keyist_Angular-NgRx-SpringBoot/blob/master/screen_shots/detail.png)\n\n![alt text](https://github.com/deverabit/Keyist_Angular-NgRx-SpringBoot/blob/master/screen_shots/cart.png)\n\n![alt text](https://github.com/deverabit/Keyist_Angular-NgRx-SpringBoot/blob/master/screen_shots/browse.png)\n\n![alt text](https://github.com/deverabit/Keyist_Angular-NgRx-SpringBoot/blob/master/screen_shots/orders.png)\n\n\n## Getting Started\nThis project is a simple e-commerce website powered by Angular 10 on the frontend and Spring Boot for the backend.\n\u003cbr\u003e\nFor the full stack list please visit \"Built With\" section below.\n\nEcommerce is a complex business. It involves many edge cases and a solid system architecture. This project is simply a demo demonstrating basic features which is only the tip of an iceberg. This project might ( and certainly does ) have bugs, vulnerabilities or some other types of issues. So, contributions are always welcome :)\n\nThe demo is under free hosting, so it may require a bit of a patience :)\n\n## Updated\nThis project is upgraded to Java 11, Spring Boot 2.3.3 and Angular 10+ and some new features added!\n\nA docker-compose.yml added for you to bootstrap all of the aplication instances in one command!\n\n## About This Project\n\n* You can browse items or select an item from the showcase and preview.\n* Browse section remembers your list choice, so even if you leave the page, when you come back you do not need to fetch products again.\n* Your cart is saved on the database so you can login from different sources and still be able to use your cart.\n* You can use discount coupons!\n* You can store your information for faster purchase.\n* You can view your orders and change your account settings.\n* You can request a password forgot request and use the token in your mail.\n* You can search items.\n\n\n### Disclaimer\nThis is a fully functional demo site and may have security vulnerabilities as user data is not encrypted with SSL.\n\u003cbr\u003e\nThe provided codes are not ready for production and should only be used for education purposes.\n\n### Prerequisites\n\nWhat things you need to install\n\n```\nAngular CLI is recommended.\nYou need Tomcat server 8 or above installed or you can use embedded spring boot tomcat jar.\nLocally installed MySQL or a MySQL server.\nCompatible IDE, Intellij IDEA recommended for this project.\n\n```\n\nIf you want to run the Dockerized version keep in mind that you must install Docker.\nAlso please note that booting up with docker-compose might take approx. 10-30min depending on your internet connection. After the initial setup, all other subsequent docker-compose commands will run much faster due to caching.\n\n### Installing\n\nThe codes are split into 3 sections. \n\nfrontend - Angular 10 ,\n\nresource_server - Spring Boot Backend ,\n\nauthorization_server - A Spring Boot OAuth2 Authorization server.\n\n\nTo run the application fill the lines in resource server and authorization server application.properties as well as frontend application service urls.\n\n\nFor MySQL Database \n\n```\nSQL script can be found in the sql folder.\nscript.sql contains both the basic user info and the tables for the oauth2 implementation.\n\n```\n\nFor Tomcat Application Server\n\n```\nUse Tomcat 8.5.23 or above and compile to generate WAR file.\nIf you want you can use Spring Boot embedded tomcat JAR file and host it.\nKeep in mind that both authorization and backend server's pom.xml is configured to compile a jar file.\n\n```\n\nFor Undertow Application Server\n\n```\nThis project uses undertow as default.\nKeep in mind that both authorization and backend server's pom.xml is configured to compile a jar file.\n\n```\n\nThis project uses Java Mail to create an embedded SMTP server. \n\u003cbr\u003e\nYou can configure your own settings in the yaml file depending on your email provider or you can disable Java Mail altogether.\n\u003cbr\u003e\n\nFor Docker\n\n```\nIn the root folder run the following command\n\ndocker-compose up\n\nIf you want to use development versions of the Dockerfiles, you need to setup docker-compose-yml to build using Dockerfile.dev.\n\n```\n\n\n## Built With\n\n* [Java](https://www.oracle.com/technetwork/java/javase/overview/index.html) - Oracle Java 11 JDK\n* [Angular](https://angular.io/) - Angular 10 Frontend\n* [Rxjs](https://github.com/ReactiveX/rxjs) - Reactive functions\n* [Ngrx Store](https://github.com/ngrx/store) - State management\n* [Bootstrap](http://getbootstrap.com) - UI Components\n* [NgBootstrap](https://ng-bootstrap.github.io/) - Angular specific widgets\n* [FontAwesome](https://fontawesome.com/) - Icons\n* [Spring](https://spring.io/) - Spring Boot resource and authorization server\n* [Hibernate](http://hibernate.org/) - Object-relational Mapping\n* [OAuth2](https://oauth.net/2/) - OAuth2 Authorization\n* [Jackson](https://github.com/FasterXML/jackson) - JSON Object Mapping and data binding\n* [Lombok](https://projectlombok.org/) - Automatic generated methods\n* [MySQL](https://www.mysql.com/) - MySQL Database\n* [Connector/J](https://dev.mysql.com/downloads/connector/j/5.1.html) - Connecting to MySQL Database Server\n* [Maven](https://maven.apache.org/) - Dependency Management\n* [Docker](https://www.docker.com/) - Containerized Apps\n* [Docker Compose](https://docs.docker.com/compose/) -  Running multi-container Docker applications\n\n\n\n\n\n\n## Contributing\n\nIf you want to contribute to this project you can email me - deverabit@gmail.com or you can pull request.\n\n## Versioning\n\nThis project does not have versioning and made with learning purposes.\n\n\n## Authors \n\n* **Deverabit** - *Initial work* - [Github](https://github.com/deverabit)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](https://github.com/deverabit/Keyist_Angular-NgRx-SpringBoot/blob/master/LICENSE) for details.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluxuereal%2Fkeyist_angular-ngrx-springboot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluxuereal%2Fkeyist_angular-ngrx-springboot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluxuereal%2Fkeyist_angular-ngrx-springboot/lists"}