Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bertuginal/book-advicer

Patika+ Book Advicer AI Group Project using OpenAI
https://github.com/bertuginal/book-advicer

ant-design-ui java mongodb open-ai react spring-boot swagger vitejs

Last synced: 8 days ago
JSON representation

Patika+ Book Advicer AI Group Project using OpenAI

Awesome Lists containing this project

README

        

:sparkles: PATIKA+ BOOK ADVICER API GROUP PROJECT :sparkles:



🚥 FULL STACK AI PROJECT 🚥

## ↓ Technology Stacks ↓

## ⚙️ BACK-END

* [![Java][Java-logo]][Java-url]
* [![Spring][Spring-logo]][Spring-url]
* [![Maven][Maven-logo]][Maven-url]
* [![MongoDB][Mongodb-logo]][Mongodb-url]
* [![Postman][Postman-logo]][Postman-url]
* [![Swagger][Swagger-logo]][Swagger-url]

### 🔒 Dependencies

✔️ Spring Web

✔️ Spring AI (OpenAI)

✔️ Lombok

✔️ Devtools

✔️ Data MongoDB

 

## ↓ File Structure ↓

### ` 🏗️ N-Layered Architecture`

![image](https://github.com/bertuginal/book-advicer/assets/73167951/a412a4f7-875a-4979-a1d2-c581645fb43d)

 

## ↓ Service Endpoints ↓

### `User Service Endpoints`
| Route | HTTP | Request Body | Description |
|------------------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------|
| /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 |
| /books | `GET` | Empty | Get Books |

 


## 💻 FRONT-END

* [![React][React-logo]][React-url]
* [![Vite][Vite-logo]][Vite-url]
* [![Ant-Design][Ant-Design-logo]][Ant-Design-url]

 

## `📸 Aplication Screenshots`

![image](https://github.com/bertuginal/book-advicer/assets/73167951/b1f8892a-91da-4959-aa77-21ae5b591f98)

![image](https://github.com/bertuginal/book-advicer/assets/73167951/dea4f488-f8d5-442c-a5a8-28b602684e31)

## `▶︎ Build and Run Project`
> Requires **JDK 21** to run the project, **Git** to pull from remote repository, and **Docker** to run docker-compose!

╰➤ Follow the steps to build and run the project:

❶ Clone the repository from Git
```bash
git clone https://github.com/FMSS-Full-Stack-Bootcamp/grup-bir.git
```

❷ Run the project with Docker
```shell
docker-compose up -d && docker-compose down
```
❸ After all services are up and running with `Docker`:
- `BookAdviserApiApplication(Back-end)` interface can be accessed from port **8080**
- `MongoDB Express` interface can be accessed from port **8081**
- `Vite + React + TS (front-end)` interface can be accessed from port **5173 or 5174**
> All running services can access dependent graphic interfaces via the web without being dependent on the local environment.

 

## 🌱 Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.

If 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".
⭐ Don't forget to give the project a star! Thanks again! ⭐

❶ Fork the Project

❷ Create your Feature Branch (`git checkout -b feature/book-advicer`)

❸ Commit your Changes (`git commit -m 'Add some book-advicer'`)

❹ Push to the Branch (`git push origin feature/book-advicer`)

❺ Open a Pull Request

 

## ☎️ Contact

📧 E-mail: [[email protected]](mailto:[email protected])

📱 Mobile Phone: [(+90) 507 038 33 23](mailto:+905070383323)

📋 Project Link: [https://github.com/bertuginal/book-advicer](https://github.com/bertuginal/book-advicer)

[contributors-shield]: https://img.shields.io/github/contributors/othneildrew/Best-README-Template.svg?style=for-the-badge
[contributors-url]: https://github.com/othneildrew/Best-README-Template/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/othneildrew/Best-README-Template.svg?style=for-the-badge
[forks-url]: https://github.com/othneildrew/Best-README-Template/network/members
[stars-shield]: https://img.shields.io/github/stars/othneildrew/Best-README-Template.svg?style=for-the-badge
[stars-url]: https://github.com/othneildrew/Best-README-Template/stargazers
[issues-shield]: https://img.shields.io/github/issues/othneildrew/Best-README-Template.svg?style=for-the-badge
[issues-url]: https://github.com/othneildrew/Best-README-Template/issues
[license-shield]: https://img.shields.io/github/license/othneildrew/Best-README-Template.svg?style=for-the-badge
[license-url]: https://github.com/othneildrew/Best-README-Template/blob/master/LICENSE.txt
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
[linkedin-url]: https://linkedin.com/in/othneildrew
[product-screenshot]: images/screenshot.png

[Java-logo]: https://img.shields.io/badge/java-000000?style=for-the-badge&logo=spring&logoColor=white
[Java-url]: https://www.java.com/tr/
[Spring-logo]: https://img.shields.io/badge/Spring_Boot-DD0031?style=for-the-badge&logo=springboot&logoColor=white
[Spring-url]: https://spring.io/
[Maven-logo]: https://img.shields.io/badge/maven-0769AD?style=for-the-badge&logo=jquery&logoColor=white
[Maven-url]: https://maven.apache.org
[Mongodb-logo]: https://img.shields.io/badge/Mongo_DB_(Database)-4A4A55?style=for-the-badge&logo=mongodb&logoColor=FF3E00
[Mongodb-url]: https://www.mongodb.com
[Postman-logo]: https://img.shields.io/badge/Postman-FF2D20?style=for-the-badge&logo=postman&logoColor=white
[Postman-url]: https://swagger.io
[Swagger-logo]: https://img.shields.io/badge/Swagger-563D7C?style=for-the-badge&logo=swagger&logoColor=white
[Swagger-url]: https://swagger.io
[Rest-logo]: https://img.shields.io/badge/Rest_Template-563D7C?style=for-the-badge&logo=rest&logoColor=white
[Rest-url]: https://img.shields.io/badge/Rest_Template-563D7C?style=for-the-badge&logo=rest&logoColor=white
[React-logo]: https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB
[React-url]: https://reactjs.org/
[Vite-logo]: https://img.shields.io/badge/vite.js-35495E?style=for-the-badge&logo=vuedotjs&logoColor=906DFE
[Vite-url]: https://vitejs.dev
[Ant-Design-logo]: https://img.shields.io/badge/ant_design_(UI)-35495E?style=for-the-badge&logo=antdesign&logoColor=F7515E
[Ant-Design-url]: https://ant.design

[Vue-logo]: https://img.shields.io/badge/Vue.js-35495E?style=for-the-badge&logo=vuedotjs&logoColor=4FC08D
[Vue-url]: https://vuejs.org/
[Angular.io]: https://img.shields.io/badge/Angular-DD0031?style=for-the-badge&logo=angular&logoColor=white
[Angular-url]: https://angular.io/
[Svelte.dev]: https://img.shields.io/badge/Svelte-4A4A55?style=for-the-badge&logo=svelte&logoColor=FF3E00
[Svelte-url]: https://svelte.dev/
[Laravel.com]: https://img.shields.io/badge/Laravel-FF2D20?style=for-the-badge&logo=laravel&logoColor=white
[Laravel-url]: https://laravel.com
[Bootstrap.com]: https://img.shields.io/badge/Bootstrap-563D7C?style=for-the-badge&logo=bootstrap&logoColor=white
[Bootstrap-url]: https://getbootstrap.com
[JQuery.com]: https://img.shields.io/badge/jQuery-0769AD?style=for-the-badge&logo=jquery&logoColor=white
[JQuery-url]: https://jquery.com