Giter Site home page Giter Site logo

testerreality / javafx-voice-messenger Goto Github PK

View Code? Open in Web Editor NEW
7.0 2.0 2.0 30.65 MB

Voice messenger written using JavaFx (server and client side) with author's message exchange protocols (like XMPP), as well as author's RTP.

License: MIT License

Java 95.16% Inno Setup 0.43% CSS 4.40%
java smile voice-call javafx postgresql mvc desktop

javafx-voice-messenger's Introduction

Vacoom Voice Messenger

Vacoom Voice Messenger (используя JavaFx)

JDK version Database build

Vacoom Voice Messenger - голосовой мессенджер с криптографической защитой. Мессенджер содержит клиентскую и серверную часть. Мессенджер позволяет:

  • совершать криптографически защищенный сеанс аудиосвязи между двумя пользователями
  • передавать сообщения по защищенному каналу

В данном проекте реализован собственный движок для смайликов на JavaFx.

Причины создания

Данный проект является попыткой создания собственного голосового мессенджера с криптографической защитой, ведь мы далеко не всегда может быть уверены в том, что нас не прослушивают.

Скриношты (на текущий момент времени, проект еще в разработке)

Vacoom Voice Messenger Vacoom Voice Messenger Vacoom Voice Messenger Vacoom Voice Messenger Vacoom Voice Messenger Vacoom Voice Messenger Vacoom Voice Messenger Vacoom Voice Messenger

Участие в разработке

Перед разработкой необходимо создать файл config.properties в директории src/main/resources/conf в gradle-модуле server со следущющими полями:

  • db.login - имя пользователя БД
  • db.password - пароль пользователя БД
  • db.url - url базы данных pgsql, включая jdbc:postgresql://

Серверная часть проекта использует сервис для хранения изображений (https://cloudinary.com/), поэтому в файле config.properties также обязательно указываются следующие поля, название которых соответствует разделу Account Details на сайте:

  • cloud.name - Cloud name
  • api.key - API Key
  • api.secret - API Secret

Пример файла config.properties :

db.login = qnrdhkiobgd
db.password = qwca75e4e677y9a43df89e483cbe52fcb8cbf5bchhf9
db.url= jdbc:postgresql://ecw2-7771-4.eu-west.compute.amazonaws.com/88fjdhgshgnds
cloud.name= vacoommem
api.key= 777375577712777
api.secret= McELkeGtiA-hghdfhdfh

Все зависимости устанавливаются при помощи Gradle. Достаточно выполнить следующую команду:

gradle --refresh-dependencies clean build

Если Вы используете IDE, то при открытии проекта это выполнится автоматически.

Перед внесением изменений делайте pull request. В случае больших изменений открывайте issue для обсуждения того, что Вы хотели бы изменить.

Сборка проекта в JAR

Чтобы собрать клиентскую часть в jar необходимо выполнить следующую команду:

gradle jfxJar

Чтобы собрать серверную часть в jar необходимо выполнить следующую команду:

gradle :server:jar

Лицензия

Этот репозиторий находится под лицензией MIT. Подробную информаци вы можете найти здесь или на официальном сайте.

javafx-voice-messenger's People

Contributors

majorkik avatar testerreality avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

w1kelxd velykov

javafx-voice-messenger's Issues

Использование логгеров, вместо System.out.println

Привет, @TesterReality

Для логов лучше вместо System.out.println использовать библиотеку, например эту xLog.

Хотя в Java есть стандартные способы для ведения логов, но они требуют написания бойлерпринт кода в каждом классе, где используешь и менее удобные. Но во всяком случае лучше, чем System.out.println.

Отсутствие системы сборки (Gradle или Maven)

В проекте отсутствует система сборки, что в дальнейшем усложнит поддержку проекта, подключение новых зависимостей, а также его настройку.

Решение
Добавить в проект одну из систем сборок (Maven, Gradle или др.)

Commentaries and logging

Hi, @TesterReality!

I'm really curious about your project. I'm solving same issues in my project related to voice messaging. But I've encountered a lot of issues while watching your code.

In this issue I've decided to focus on logging and commentaries. First of all, commentaries in the code on foreign language. I think it should be Russian. I've tried to translate it but still I can't understand them. Can you explain code in ThreadPoolServer class, have a lot of issues with it.

Also I can't figure out what's going on in logging. As I understood, you use sout everywhere in the code. This is also a trouble.

Обновить .gitignore

Привет, @TesterReality

Необходимо обновить .gitignore, чтобы папка .idea и out, а также файлы сборки, чтобы тоже не добавлялись при каждом комите.

Сервис Gitignore.io должен в этом помочь.

В репозиторий находятся .jar файлы библиотек

Привет, @TesterReality

В репозитории не должны хранится файлы библиотек, они должны имплементироваться через системы сборки.

Это позволит уменьшит вес комита, избавить репозиторий от лишних файлов и даст возможность изменять версии зависимостей (библиотек) динамически, а не в ручную.

Файлы сцен (.fxml) должны находится в папке resource

Привет, @TesterReality

В проекте .fxml находятся в пакете sample/fxml, однако файлы fxml являются файлами ресурсов и должны находится в пакете resource/fxml.

Это упростит навигацию по проекту и их местоположение будет более очевидным и будет соответствовать типу файлов.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.