{"id":18632137,"url":"https://github.com/bertuginal/book-advicer","last_synced_at":"2026-04-14T05:31:24.551Z","repository":{"id":247050356,"uuid":"823622172","full_name":"bertuginal/book-advicer","owner":"bertuginal","description":"Patika+ Book Advicer AI Group Project using OpenAI","archived":false,"fork":false,"pushed_at":"2024-07-09T10:22:39.000Z","size":1261,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-03T23:59:35.122Z","etag":null,"topics":["ant-design-ui","java","mongodb","open-ai","react","spring-boot","swagger","vitejs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/bertuginal.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":"2024-07-03T11:39:06.000Z","updated_at":"2024-07-09T10:22:42.000Z","dependencies_parsed_at":"2024-12-27T07:51:58.050Z","dependency_job_id":null,"html_url":"https://github.com/bertuginal/book-advicer","commit_stats":null,"previous_names":["bertuginal/book-advicer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bertuginal/book-advicer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertuginal%2Fbook-advicer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertuginal%2Fbook-advicer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertuginal%2Fbook-advicer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertuginal%2Fbook-advicer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bertuginal","download_url":"https://codeload.github.com/bertuginal/book-advicer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertuginal%2Fbook-advicer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31784251,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T02:24:21.117Z","status":"ssl_error","status_checked_at":"2026-04-14T02:24:20.627Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["ant-design-ui","java","mongodb","open-ai","react","spring-boot","swagger","vitejs"],"created_at":"2024-11-07T05:10:14.405Z","updated_at":"2026-04-14T05:31:24.533Z","avatar_url":"https://github.com/bertuginal.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\r\n\u003cdiv align=\"center\"\u003e\u003ch1\u003e :sparkles: PATIKA+ BOOK ADVICER API GROUP PROJECT :sparkles: \u003c/h1\u003e\u003c/div\u003e\r\n\u003cdiv align=\"center\"\u003e\u003ch2\u003e 🚥 FULL STACK AI PROJECT 🚥 \u003c/h2\u003e \u003c/div\u003e\r\n\r\n\r\n## ↓ Technology Stacks ↓\r\n\r\n## ⚙️ BACK-END\r\n\r\n* [![Java][Java-logo]][Java-url]\r\n* [![Spring][Spring-logo]][Spring-url]\r\n* [![Maven][Maven-logo]][Maven-url]\r\n* [![MongoDB][Mongodb-logo]][Mongodb-url]\r\n* [![Postman][Postman-logo]][Postman-url]\r\n* [![Swagger][Swagger-logo]][Swagger-url]\r\n       \r\n\r\n### 🔒 Dependencies\r\n \r\n\u003cb\u003e✔️ Spring Web \u003c/b\u003e\r\n\r\n\u003cb\u003e✔️ Spring AI (OpenAI) \u003c/b\u003e\r\n\r\n\u003cb\u003e✔️ Lombok \u003c/b\u003e\r\n\r\n\u003cb\u003e✔️ Devtools \u003c/b\u003e\r\n\r\n\u003cb\u003e✔️ Data MongoDB \u003c/b\u003e\r\n\r\n\u0026nbsp; \r\n\r\n## ↓ File Structure ↓\r\n\r\n### ` 🏗️ N-Layered Architecture`\r\n\r\n![image](https://github.com/bertuginal/book-advicer/assets/73167951/a412a4f7-875a-4979-a1d2-c581645fb43d)\r\n\r\n\u0026nbsp; \r\n\r\n## ↓ Service Endpoints ↓\r\n\r\n### `User Service Endpoints`\r\n| Route                  | HTTP     | Request Body                                                                                                                                                                                | Description \t     |\r\n|------------------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------|\r\n| /books                 | `POST`   | { \"question\": \"Recommend me 5 books similar to Platon's book titled Sokratesin Savunması in the philosophy category. Convert output to french\" }                                            | Generate books    |\r\n| /books                 | `GET`    | Empty                                                                                                                                                                                      | Get Books         |\r\n\r\n\u0026nbsp; \r\n\r\n      \r\n## 💻 FRONT-END\r\n\r\n* [![React][React-logo]][React-url]\r\n* [![Vite][Vite-logo]][Vite-url]\r\n* [![Ant-Design][Ant-Design-logo]][Ant-Design-url]\r\n\r\n\u0026nbsp; \r\n\r\n##  `📸 Aplication Screenshots` \r\n\r\n![image](https://github.com/bertuginal/book-advicer/assets/73167951/b1f8892a-91da-4959-aa77-21ae5b591f98)\r\n\r\n![image](https://github.com/bertuginal/book-advicer/assets/73167951/dea4f488-f8d5-442c-a5a8-28b602684e31)\r\n\r\n\r\n\r\n## `▶︎ Build and Run Project`\r\n\u003e Requires **JDK 21** to run the project, **Git** to pull from remote repository, and **Docker** to run docker-compose!\r\n\r\n╰➤ Follow the steps to build and run the project:\r\n\r\n❶ Clone the repository from Git\r\n```bash\r\n  git clone https://github.com/FMSS-Full-Stack-Bootcamp/grup-bir.git\r\n```\r\n\r\n❷ Run the project with Docker\r\n```shell\r\n  docker-compose up -d \u0026\u0026 docker-compose down \r\n```\r\n❸ After all services are up and running with `Docker`:\r\n- `BookAdviserApiApplication(Back-end)` interface can be accessed from port **8080**\r\n- `MongoDB Express` interface can be accessed from port **8081**\r\n- `Vite + React + TS (front-end)` interface can be accessed from port **5173 or 5174**\r\n\u003e All running services can access dependent graphic interfaces via the web without being dependent on the local environment.\r\n\r\n\u0026nbsp; \r\n\r\n## 🌱 Contributing\r\n\r\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\r\n\r\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\r\n⭐ Don't forget to give the project a star! Thanks again! ⭐\r\n\r\n❶ Fork the Project\r\n\r\n❷ Create your Feature Branch (`git checkout -b feature/book-advicer`)\r\n\r\n❸  Commit your Changes (`git commit -m 'Add some book-advicer'`)\r\n\r\n❹  Push to the Branch (`git push origin feature/book-advicer`)\r\n\r\n❺ Open a Pull Request\r\n   \r\n\r\n\u0026nbsp; \r\n\r\n\u003c!-- CONTACT --\u003e\r\n## ☎️ Contact\r\n\r\n📧 E-mail: [bertuginal@yahoo.com](mailto:bertuginal@yahoo.com)\r\n\r\n📱 Mobile Phone: [(+90) 507 038 33 23](mailto:+905070383323)\r\n\r\n📋 Project Link: [https://github.com/bertuginal/book-advicer](https://github.com/bertuginal/book-advicer)\r\n\r\n\r\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\r\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\r\n[contributors-shield]: https://img.shields.io/github/contributors/othneildrew/Best-README-Template.svg?style=for-the-badge\r\n[contributors-url]: https://github.com/othneildrew/Best-README-Template/graphs/contributors\r\n[forks-shield]: https://img.shields.io/github/forks/othneildrew/Best-README-Template.svg?style=for-the-badge\r\n[forks-url]: https://github.com/othneildrew/Best-README-Template/network/members\r\n[stars-shield]: https://img.shields.io/github/stars/othneildrew/Best-README-Template.svg?style=for-the-badge\r\n[stars-url]: https://github.com/othneildrew/Best-README-Template/stargazers\r\n[issues-shield]: https://img.shields.io/github/issues/othneildrew/Best-README-Template.svg?style=for-the-badge\r\n[issues-url]: https://github.com/othneildrew/Best-README-Template/issues\r\n[license-shield]: https://img.shields.io/github/license/othneildrew/Best-README-Template.svg?style=for-the-badge\r\n[license-url]: https://github.com/othneildrew/Best-README-Template/blob/master/LICENSE.txt\r\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\r\n[linkedin-url]: https://linkedin.com/in/othneildrew\r\n[product-screenshot]: images/screenshot.png\r\n\r\n[Java-logo]: https://img.shields.io/badge/java-000000?style=for-the-badge\u0026logo=spring\u0026logoColor=white\r\n[Java-url]: https://www.java.com/tr/\r\n[Spring-logo]: https://img.shields.io/badge/Spring_Boot-DD0031?style=for-the-badge\u0026logo=springboot\u0026logoColor=white\r\n[Spring-url]: https://spring.io/\r\n[Maven-logo]: https://img.shields.io/badge/maven-0769AD?style=for-the-badge\u0026logo=jquery\u0026logoColor=white\r\n[Maven-url]: https://maven.apache.org\r\n[Mongodb-logo]: https://img.shields.io/badge/Mongo_DB_(Database)-4A4A55?style=for-the-badge\u0026logo=mongodb\u0026logoColor=FF3E00\r\n[Mongodb-url]: https://www.mongodb.com\r\n[Postman-logo]: https://img.shields.io/badge/Postman-FF2D20?style=for-the-badge\u0026logo=postman\u0026logoColor=white\r\n[Postman-url]: https://swagger.io\r\n[Swagger-logo]: https://img.shields.io/badge/Swagger-563D7C?style=for-the-badge\u0026logo=swagger\u0026logoColor=white\r\n[Swagger-url]: https://swagger.io\r\n[Rest-logo]: https://img.shields.io/badge/Rest_Template-563D7C?style=for-the-badge\u0026logo=rest\u0026logoColor=white\r\n[Rest-url]: https://img.shields.io/badge/Rest_Template-563D7C?style=for-the-badge\u0026logo=rest\u0026logoColor=white\r\n[React-logo]: https://img.shields.io/badge/React-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB\r\n[React-url]: https://reactjs.org/\r\n[Vite-logo]: https://img.shields.io/badge/vite.js-35495E?style=for-the-badge\u0026logo=vuedotjs\u0026logoColor=906DFE\r\n[Vite-url]: https://vitejs.dev\r\n[Ant-Design-logo]: https://img.shields.io/badge/ant_design_(UI)-35495E?style=for-the-badge\u0026logo=antdesign\u0026logoColor=F7515E\r\n[Ant-Design-url]: https://ant.design\r\n\r\n[Vue-logo]: https://img.shields.io/badge/Vue.js-35495E?style=for-the-badge\u0026logo=vuedotjs\u0026logoColor=4FC08D\r\n[Vue-url]: https://vuejs.org/\r\n[Angular.io]: https://img.shields.io/badge/Angular-DD0031?style=for-the-badge\u0026logo=angular\u0026logoColor=white\r\n[Angular-url]: https://angular.io/\r\n[Svelte.dev]: https://img.shields.io/badge/Svelte-4A4A55?style=for-the-badge\u0026logo=svelte\u0026logoColor=FF3E00\r\n[Svelte-url]: https://svelte.dev/\r\n[Laravel.com]: https://img.shields.io/badge/Laravel-FF2D20?style=for-the-badge\u0026logo=laravel\u0026logoColor=white\r\n[Laravel-url]: https://laravel.com\r\n[Bootstrap.com]: https://img.shields.io/badge/Bootstrap-563D7C?style=for-the-badge\u0026logo=bootstrap\u0026logoColor=white\r\n[Bootstrap-url]: https://getbootstrap.com\r\n[JQuery.com]: https://img.shields.io/badge/jQuery-0769AD?style=for-the-badge\u0026logo=jquery\u0026logoColor=white\r\n[JQuery-url]: https://jquery.com \r\n\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbertuginal%2Fbook-advicer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbertuginal%2Fbook-advicer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbertuginal%2Fbook-advicer/lists"}