- mongoDb
- nodeJs
npm install
oryarn install
(I personally preferyarn
).- run
cp .env.example .env
and fill in the correct values in the.env
file. - run the monogo daemon by running
mongod
. - run the node server
yarn server
ornpm run server
. - run the webpack server
yarn start
ornpm start
.
To send emails you have to add your email and password in the .env file (see .env.example) and make sure that in your google accounts settings you have "allow less secure apps" turned on. See the steps to that here
Some notes about the features and technologies used to implement this app.
- User authentication using Json Web Tokens (JWT).
- bcrypt used for password hashing.
- Mongoose used as an ODM for mongo.
- Google speech to text API used to transcribe audio.
- React redux used for a centralized application state.
- Axios used for richer HTTP requests.
- styled-components for CSS in JS.
- react-mp3-recorder for recording mp3 files in the browser.
- SOX used for audio file conversion.
- Certain request timeout were not implemented causing some edge cases to hang.
- Poor handling of errors due to time constraints.
- Multiple audio channels not supported.
- Formats other than
mp3
,wav
, orflac
are not supported. - No JWT refresh token so the user gets logged out every 10 hours.