{"id":23033733,"url":"https://github.com/theemperorofdaiviet/taco-cloud","last_synced_at":"2026-04-13T02:02:11.693Z","repository":{"id":130803747,"uuid":"568407714","full_name":"theEmperorofDaiViet/taco-cloud","owner":"theEmperorofDaiViet","description":"The Taco Cloud project from the famous book - \"Spring in Action\".","archived":false,"fork":false,"pushed_at":"2023-01-25T11:28:50.000Z","size":15257,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-15T11:08:44.081Z","etag":null,"topics":["java","microsoft-sql-server-2019","spring-boot","spring-data-jpa","spring-jdbc-template","spring-mvc","spring-security","thymeleaf"],"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/theEmperorofDaiViet.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}},"created_at":"2022-11-20T12:51:32.000Z","updated_at":"2023-01-25T10:22:17.000Z","dependencies_parsed_at":"2023-06-29T19:16:20.967Z","dependency_job_id":null,"html_url":"https://github.com/theEmperorofDaiViet/taco-cloud","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/theEmperorofDaiViet/taco-cloud","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theEmperorofDaiViet%2Ftaco-cloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theEmperorofDaiViet%2Ftaco-cloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theEmperorofDaiViet%2Ftaco-cloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theEmperorofDaiViet%2Ftaco-cloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theEmperorofDaiViet","download_url":"https://codeload.github.com/theEmperorofDaiViet/taco-cloud/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theEmperorofDaiViet%2Ftaco-cloud/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267552097,"owners_count":24106000,"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-07-28T02:00:09.689Z","response_time":68,"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":["java","microsoft-sql-server-2019","spring-boot","spring-data-jpa","spring-jdbc-template","spring-mvc","spring-security","thymeleaf"],"created_at":"2024-12-15T16:18:14.169Z","updated_at":"2026-04-13T02:02:06.667Z","avatar_url":"https://github.com/theEmperorofDaiViet.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#key-features\"\u003eKey Features\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/theEmperorofDaiViet/taco-cloud/blob/master/src/main/resources/static/images/TacoCloud.png\"\u003e\n\u003c/p\u003e\n\n# About The Project\nThe Taco Cloud project from the famous book - \"Spring in Action\".\n\n## Built With\n* [![Java][Java-shield]][Java-url]\n* [![Spring][Spring-shield]][Spring-url]\n* [![Apache Maven][Apache Maven-shield]][Apache Maven-url]\n* [![Apache Tomcat][Apache Tomcat-shield]][Apache Tomcat-url]\n* [![HTML5][HTML5-shield]][HTML5-url]\n* [![CSS3][CSS3-shield]][CSS3-url]\n* [![Thymeleaf][Thymeleaf-shield]][Thymeleaf-url]\n* [![Microsoft SQL Server][MicrosoftSQLServer-shield]][MicrosoftSQLServer-url]\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n# Getting Started\n\n## Prerequisites\nBefore cloning and using this application, you'll need to install these things on your computer:\n* [Java SE Development Kit 17](https://www.oracle.com/java/technologies/downloads/#java17): Of course you need to have Java installed to run a Java application. I used Java 17, but I think it works fine with the widely-used Java 8 (JDK 1.8), as well.\n* [Spring Tool Suite 4](https://spring.io/tools): an Eclipse-based IDE to develop Spring applications. \nIt provides a ready-to-use environment to implement, run, deploy, and debug the application. \nIt validates your application and provides quick fixes for the applications.\n* [Microsoft SQL Server 2019](https://www.microsoft.com/en-us/sql-server/sql-server-2019): a relational database management system developed by Microsoft.\nAs a database server, it is a software product with the primary function of storing and retrieving data as requested by other software applications - \nwhich may run either on the same computer or on another computer across a network (including the Internet).\n\n## Installation\nYou can install this application by cloning this repository into your current working directory:\n```sh\ngit clone https://github.com/theEmperorofDaiViet/taco-cloud.git\n```\nAfter cloning the repository, you can open the project by Spring Tool Suite.\n\nOpen the application.properties file in [/src/main/resources](/src/main/resources) to change the information about the datasource to fit your own settings.\n\nOpen SQL Server and create a database according to the script in SQLServer.sql file in [/src/main/resources](/src/main/resources).\n\nFinally, back to Spring Tool Suite and run the application.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n# Key Features\n\u003ci\u003eThis project covers the features from chapter 1 to 5 of \"Spring in Action\":\u003c/i\u003e\n\n- \u003cb\u003eTraditional multipage application (MPA) with Spring MVC\u003c/b\u003e\n    - Design custom tacos by selecting ingredients\n    - Place an order for the tacos you designed\n    - Validate form input and display validation errors\n    - See your order history\n\n\n+ \u003cb\u003eSpring Data\u003c/b\u003e: store information about ingredients, tacos, orders in Microsoft SQL Server database with:\n    + JDBC (in previous version)\n    + JPA\n\n- \u003cb\u003eSpring Security\u003c/b\u003e:\n    - Custom user storage:\n        - In-memory user store (in previous version)\n        - JDBC-based user store (in previous version)\n        - LDAP-backed user store (in previous version)\n        - Custom user details service\n    - Log in/ Log out\n    - Register new account\n    - Secure against CSRF attacks\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n# Usage\n\u003ci\u003eHere is an example to illustrate the features of this application\u003c/i\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"/src/main/resources/static/images/Usage.gif\"\u003e\n\u003c/p\u003e\n\n* First, I log in to an existing account. I design two tacos and place an order for them.\nWhile entering information, I intend to provide data in the wrong format to illustrate data validation.\nFinally, I check order history to see my previous orders, including the order I've just placed.\n\n* Second, I log out and create a new account. I log in that new account and do the same things as above.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n# Contact\n\nYou can contact me via:\n* [![GitHub][GitHub-shield]][GitHub-url]\n* [![LinkedIn][LinkedIn-shield]][LinkedIn-url]\n* ![Gmail][Gmail-shield]:\u0026nbsp;\u003ci\u003eKhiet.To.05012001@gmail.com\u003c/i\u003e\n* [![Facebook][Facebook-shield]][Facebook-url]\n* [![Twitter][Twitter-shield]][Twitter-url]\n\n\u003cbr/\u003e\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- Tech stack --\u003e\n[Java-shield]: https://img.shields.io/badge/Java-ED8B00?style=for-the-badge\u0026logo=java\u0026logoColor=white\n[Java-url]: https://www.java.com/\n[Spring-shield]: https://img.shields.io/badge/spring-%236DB33F.svg?style=for-the-badge\u0026logo=spring\u0026logoColor=white\n[Spring-url]: https://spring.io/\n[Apache Maven-shield]: https://img.shields.io/badge/Apache%20Maven-C71A36?style=for-the-badge\u0026logo=Apache%20Maven\u0026logoColor=white\n[Apache Maven-url]: https://maven.apache.org/\n[Apache Tomcat-shield]: https://img.shields.io/badge/apache%20tomcat-%23F8DC75.svg?style=for-the-badge\u0026logo=apache-tomcat\u0026logoColor=black\n[Apache Tomcat-url]: https://tomcat.apache.org/\n[HTML5-shield]: https://img.shields.io/badge/html5-%23E34F26.svg?style=for-the-badge\u0026logo=html5\u0026logoColor=white\n[HTML5-url]: https://www.w3.org/html/\n[CSS3-shield]: https://img.shields.io/badge/css3-%231572B6.svg?style=for-the-badge\u0026logo=css3\u0026logoColor=white\n[CSS3-url]: https://www.w3.org/Style/CSS/\n[Thymeleaf-shield]: https://img.shields.io/badge/Thymeleaf-%23005C0F.svg?style=for-the-badge\u0026logo=Thymeleaf\u0026logoColor=white\n[Thymeleaf-url]: https://www.thymeleaf.org/\n[MicrosoftSQLServer-shield]: https://img.shields.io/badge/Microsoft%20SQL%20Sever-CC2927?style=for-the-badge\u0026logo=microsoft%20sql%20server\u0026logoColor=white\n[MicrosoftSQLServer-url]: https://www.microsoft.com/en-us/sql-server\n\n\u003c!-- Contact --\u003e\n[GitHub-shield]: https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge\u0026logo=github\u0026logoColor=white\n[GitHub-url]: https://github.com/theEmperorofDaiViet\n[LinkedIn-shield]: https://img.shields.io/badge/linkedin-%230077B5.svg?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white\n[LinkedIn-url]: https://www.linkedin.com/in/khiet-to/\n[Gmail-shield]: https://img.shields.io/badge/Gmail-D14836?style=for-the-badge\u0026logo=gmail\u0026logoColor=white\n[Facebook-shield]: https://img.shields.io/badge/Facebook-%231877F2.svg?style=for-the-badge\u0026logo=Facebook\u0026logoColor=white\n[Facebook-url]: https://www.facebook.com/Khiet.To.Official/\n[Twitter-shield]: https://img.shields.io/badge/Twitter-%231DA1F2.svg?style=for-the-badge\u0026logo=Twitter\u0026logoColor=white\n[Twitter-url]: https://twitter.com/KhietTo","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheemperorofdaiviet%2Ftaco-cloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheemperorofdaiviet%2Ftaco-cloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheemperorofdaiviet%2Ftaco-cloud/lists"}