Skip to content

andytluminosity/EchoCoach

Repository files navigation

EchoCoach

Description

Ever wanted to practice your public speaking skills, but got tired of practicing in front of a mirror? EchoCoach is a web application which provides users a chance to practice their public speaking, interviewing, or presentation skills and recieve feedback from machine learning models. Uses Django for the backend, Angular + Tailwind for the frontend, and PyTorch for the LLMs!

Features

Record Yourself

Record yourself doing a mock interview, presenting a big speech, or just talking to the camera, using a responsive and intuitive video recorder.

image

Save your recording

After recording, you can then save your recording, including information like the recording name and type.

image

Get feedback

Your recording will then be sent to be analyzed by our LLMs, which are all neural networks trained on various datasets and will analyze your recording for eye contact, facial emotions, and speech emotions. This information will then be displayed on our feedback page so you can see where to improve.

image image

View all your recordings and results

EchoCoach stores all your recording and results, so you can see any one at any time! Sort through your recording by name, date, etc., and also favourite, rename, or delete any recording.

image

This project was generated using Angular CLI version 20.0.0.

Development server

To start a local development server, run:

ng serve

Once the server is running, open your browser and navigate to http://localhost:4200/. The application will automatically reload whenever you modify any of the source files.

Code scaffolding

Angular CLI includes powerful code scaffolding tools. To generate a new component, run:

ng generate component component-name

For a complete list of available schematics (such as components, directives, or pipes), run:

ng generate --help

Building

To build the project run:

ng build

This will compile your project and store the build artifacts in the dist/ directory. By default, the production build optimizes your application for performance and speed.

Running unit tests

To execute unit tests with the Karma test runner, use the following command:

ng test

Running end-to-end tests

For end-to-end (e2e) testing, run:

ng e2e

Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.

Additional Resources

For more information on using the Angular CLI, including detailed command references, visit the Angular CLI Overview and Command Reference page.

Backend

Note: Python 3.13 is required

Installation of virtual environment

python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate.bat # Windows

Install dependencies

pip install -r requirements.txt

The backend is a Django application that provides the API for the frontend. It is located in the backend directory.

To run the backend, navigate to the backend directory and run:

python -m uvicorn echocoach.asgi:application --reload

For development, ensure you have a postgres database running at localhost:5432 and run

python manage.py runserver

Install Postgres if you haven't already: https://www.enterprisedb.com/postgresql-tutorial-resources-training-1?uuid=867f9c7f-7be7-44ed-b03f-103a0a430d51&campaignId=postgres_rc_18

Create a .env.local and define the following:

DATABASE_URL=postgresql://postgres:SECRET_POSTGRES_PASSWORD@localhost:5432/echocoach

replacing SECRET_POSTGRES_PASSWORD with your superuser postgres password

To have a postgres database running at localhost:5432, install Jetbrains DataGrip: https://www.jetbrains.com/datagrip/download

  • Click the menu (three horizontal lines on top of one another)
  • Click Data Sources
  • Click + and choose PostgreSQL
  • Under General
    • Enter localhost and 5432 for Host and Port respectively
    • Fill in your user and password (the user is typically postgres and the password is the one you set during postgres installation)
    • Enter echocoach for the Database
  • Under Schemas
    • Ensure echocoach is ticked
  • Click Apply
  • Click test connection on the bottom. If everything works, it should return a good result
  • Navigate the backend directory
  • Verify that the connection works with
python manage.py runserver
  • Finally, run the following to set up the DB configurations locally
python manage.py makemigrations
python manage.py migrate

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •