Skip to content

The Node.js backend for the mobile application serves a noble purpose by empowering individuals who are unable to speak. Through the integration of a Machine Learning Library, it enables the conversion of handwritten text into speech, allowing users to save their daily conversations in the form of phrases.

License

Notifications You must be signed in to change notification settings

200-DevelopersFound/Havo-Backend

Repository files navigation

Havo

build:passed

Getting started

The Node.js backend for the mobile application is designed with a specific goal in mind: to assist individuals who are unable to speak. By integrating a powerful Machine Learning Library, the backend enables the conversion of handwritten text into speech, providing a means for users to save their daily conversations in the form of phrases.

One of the key aspects of this backend is its robust authentication system. The server implements authentication through email OTP (One-Time Password) and JSON Web Tokens (JWT). When a user registers or logs in, an OTP is sent to their email for verification. Once verified, a JWT is issued, which serves as a secure token for subsequent authenticated requests. This two-step authentication process ensures the privacy and security of user data.

🔥 Live Version

Project setup

To get the Node server running locally:

  • Clone this repo
  • yarn to install all required dependencies
  • yarn run dev to start the local server

Frontend Application

The mobile appliction which uses heroku

🔥 Live Version

⭐ Github Repository

Some Features

  • Fully secured application via JWT Token
  • Login from multiple mobile devices at the same time
  • Convert your handwriting to speech and text via machine learning
  • Save your daily conversation in the form of categories and dialogues

Show some ❤️ and ⭐ the repo to support the project.

👍 Contribution

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -m 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request and rebase it with main

What can you contribute

  1. Add some more cool features.
  2. Find bugs or errors and fix it.
  3. Improve UI/UX designs.

Code Overview

Dependencies

  • expressjs - The server for handling and routing HTTP requests
  • mongoose - For modeling and mapping MongoDB data to javascript
  • jsonwebtoken - For generating JWTs used by authentication
  • bcryptjs - For hashing passwords
  • body-parser - Node.js body parsing middleware
  • cors - Node.js package for providing a Connect/Express middleware that can be used to enable CORS with various options
  • crypto-js - JavaScript library of crypto standards
  • custom-id-new - For generating intuitive string in JavaScript
  • debug - Javascript debugging utility modelled after Node.js core's debugging technique
  • dotenv - For loading env variables
  • morgan - For logging HTTP request in node.js
  • nodemailer - For sending mails to user from server
  • otp-generator - For generating OTP for user verification
  • swagger-autogen - For documenting API
  • swagger-ui-express - For documenting API

Application Structure

  • app.js - The entry point to our application. This file defines our express server and connects it to MongoDB using mongoose. It also requires the routes and models we'll be using in the application.
  • routes/ - This folder contains the route definitions for our API.
  • models/ - This folder contains the schema definitions for our Mongoose models.
  • middleware/ - This folder contains the middlewares for our application.
  • util/ - This folder contains the utility functions for our application.
  • configs/ - This folder contains the configs for database connectivity.

Facing Any Problem or need any Help:grey_question:

Incase you face any problem or need any help write me in issues section.

About

The Node.js backend for the mobile application serves a noble purpose by empowering individuals who are unable to speak. Through the integration of a Machine Learning Library, it enables the conversion of handwritten text into speech, allowing users to save their daily conversations in the form of phrases.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks