Welcome to the server part of the AI Chat Assistant App
- Run Kurento Media Server
cd ./run-kurento-media-server.sh
- Run Postgres
cd docker-compose && docker-compose -f docker-compose.yaml up -d
The server app utilizes external cloud services such as AWS S3, AWS Transcribe, AWS Cognito, Google Gemini, Google Firebase and internal service Open State therefore there are keys and urls for every of these services need to be configured in order to run the app. Those keys are configured in application.yaml of the Spring Boot.
aws:
access-key: [AWS access key]
secret-key: [AWS secret key]
region: [region]
attachments-bucket: [attachments-bucket]
recordings-bucket: [recordings-bucket]
transcripts-bucket: [transcripts-bucket]
cognito:
user-pool-id: [user-pool-id]
app-client-id: [app-client-id]
app-client-secret: [app-client-secret]
jwks:
url: [jwks key provided by AWS cognito]
gemini:
api:
key: [Gemini API key]
url: [URL to a model]
kms:
url: ws://127.0.0.1:8888/kurento
# STATE
state:
base-url: ${OPEN_STATE_URL:http://localhost:8545/api}
# FIREBASE
app:
firebase-configuration-file: [json configuration file]
- Java 17
- Kotlin 2.0.0
- Spring Boot 3.2.3
- Gradle 7.6
- PostgreSQL 17
- Websocket
- AWS: Cognito(1.12.681), S3(1.12.687), Transcribe(1.12.761)
- Kurento 7.1.0
- Google Firebase 9.2.0
- Docker
- Google Gemini
We welcome contributions from the community! If you'd like to contribute to this project, please follow these steps:
- Fork the repository.
- Create your feature branch (
git checkout -b feature/YourFeature
). - Commit your changes (
git commit -am 'Add some feature'
). - Push to the branch (
git push origin feature/YourFeature
). - Open a pull request.
Please ensure that your pull request follows the repository's code style and guidelines.
This project is licensed under the MIT License. See the LICENSE file for details.
Feel free to customize and expand upon this template to better fit your project's specific details and requirements!