Speech notes

Our project provides an ability to work with personal notes in text and voice formats. When recording a voice note, it is then translated to text and is available in a convenient form. The application makes it possible to create and manage personal notes securely.

The feature of conversion of a voice note brings many potential benefits related to conventional information medium such as text. This benefits include searching notes by text and sharing the information via classical text-based channels. Also, this approach enables hands-free experience making it more flexible and appropriate for people with special needs.

The product uses an increasingly popular speech recognition technology which is currently is not supported in most similar products. Our project is aimed to fill this gap and provide pleasant and consistent user experience while bringing an ability to keep personal information secure.

Prerequisites

This project relies on the Docker and the Docker Compose. You should install them to build and run the project.

The system uses RabbitMQ and PostgreSQL as message broker and RDBMS respectively. Docker containers forwards default ports for them, therefore you should make sure, that these services shutted down or you should map different ports in docker-compose.yml file.

Build

To build the project and fetch all dependencies you need to create own docker-compose.yml based on docker-compose.dev.yml or just simply make a soft link:

ln -s docker-compose.dev.yml docker-compose.yml

And then run the build command:

docker-compose build

Run

To run the project simply execute the following command:

docker-compose up

Views from different perspectives

Static

Dynamic

Physical

File Structure

Here you can see simplified file structure of a project:

.                                                             
├── backend
├── docker-compose.dev.yml
├── docs
├── frontend
└── speech2text
    ├── middleware
    └── worker
  • backend folder contains code for the main backend service.
  • docker-compose.dev.yml file is a example of docker compose configuration file.
  • docs folder contains assets for documentation.
  • frontend folder contains code for the web client.
  • speech2text folder contains middleware and worker for speech recognition.