Skip to content

dulatulyn/SpringGeminiApiWrapper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpringGeminiApiWrapper

This project is a Spring Boot application following an MVC structure. App.java serves as the main entry point. SecurityConfig.java manages authentication, using Spring Security. MainController.java and AiController.java handle web requests, while UserService.java contains business logic for users. UserRepository.java is an in-memory store using HashMap. JwtUtil.java handles JWT authentication.


Java Version Spring Boot GitHub Pull Requests License Forks


Stack

  • Java 17
  • Spring framework 3.2.2
  • Spring security

Utilities

  • JSONWebToken (JWT)
  • lombok
  • Gemini API

Info & Configuration

API documentation: https://ai.google.dev/gemini-api/docs?hl=ru

mvn clean install && mvn spring-boot:run

tree:

.
├── README.md
├── pom.xml
├── src
│   └── main
│       ├── java
│       │   └── com
│       │       └── example
│       │           └── app
│       │               ├── App.java
│       │               ├── config
│       │               │   └── SecurityConfig.java
│       │               ├── controllers
│       │               │   ├── AiController.java
│       │               │   └── MainController.java
│       │               ├── dto
│       │               │   └── UserDto.java
│       │               ├── models
│       │               │   ├── Message.java
│       │               │   └── User.java
│       │               ├── repository
│       │               │   └── UserRepository.java
│       │               └── services
│       │                   ├── GeminiService.java
│       │                   ├── JwtUtil.java
│       │                   └── UserService.java
│       └── resources
│           └── application.properties
└── target
    ├── classes
    │   ├── application.properties
    │   └── com
    │       └── example
    │           └── app
    │               ├── App.class
    │               ├── config
    │               │   └── SecurityConfig.class
    │               ├── controllers
    │               │   ├── AiController.class
    │               │   └── MainController.class
    │               ├── dto
    │               │   └── UserDto.class
    │               ├── models
    │               │   ├── Message.class
    │               │   └── User.class
    │               ├── repository
    │               │   └── UserRepository.class
    │               └── services
    │                   ├── GeminiService.class
    │                   ├── JwtUtil.class
    │                   └── UserService.class
    ├── fromzero-1.0-SNAPSHOT.jar
    ├── generated-sources
    │   └── annotations
    ├── maven-archiver
    │   └── pom.properties
    └── maven-status
        └── maven-compiler-plugin
            └── compile
                └── default-compile
                    ├── createdFiles.lst
                    └── inputFiles.lst

API Endpoints

Register

POST /auth/register

{
  "username": "user123",
  "password": "securePassword"
}

Login

POST /auth/login

{
  "username": "user123",
  "password": "securePassword"
}

Profile

GET /auth/profile

Key: Authorization Value: Bearer <your JWT token>

Message

POST /api/message

your query

Messages

GET /api/messages

About

Request-response from AI through my backend application on Google Gemini and user authentication and registration with JWT tokens using Spring Security.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages