Coder Social home page Coder Social logo

raravi / chat-app-client Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 2.33 MB

A chat app client written in React!

Home Page: https://chat-app-raravi.netlify.app/

License: MIT License

HTML 0.75% JavaScript 66.15% CSS 33.10%
reactjs chat-application api-client chat-history password-reset neumorphism jwt-authentication session-management socket-io realtime-messaging mongodb

chat-app-client's Introduction

chat-app-client

A chat app client written in React!

license  version  coverage  dependencies  last-commit  Netlify Status

This Chat Client has the following functionality:

  1. Register a new user.
  2. Login an existing user.
  3. Forgot Password functionality.
  4. Once logged in, User can retrieve chat history and chat with connected users.

Registering a new user

A new user has to enter their details (name, email, password). The details will be sent to the /register API endpoint and the server tries to register the new user. If there are errors, server responds with the specific errors. If not, the user will be registered in the DB and success notification is sent back.

Login an existing user

User enters their details (email & password). The details will be sent to the /login API endpoint and the server tries to login the user. If there are errors, server responds with the specific errors. If not, the user will be logged in, session created, and success notification is sent back along with chat history.

Forgot Password

User enters their details (email). The details will be sent to the /forgotpassword API endpoint and the server tries to send mail with reset details to the user. If there are errors, server responds with the specific errors. If not, the user will be sent an email with the reset token (a cryptographically secure random number), and success notification is sent back.

Reset Password

The email sent will have a reset link where the user enters their details (email, reset token, new password). The details will be sent to the /resetpassword API endpoint and the server tries to reset the user. If there are errors, server responds with the specific errors. If not, the user will be reset, the reset token destroyed, new password updated in DB and then success notification is sent back.

Chatting

User can read the chat history upon login. They can send & receive messages in realtime with whoever is connected to the server!

Note: I've added elements to the application to experiment with the new trend of neumorphism, you can disable it by modifying the drop-shadow property for the relevant elements in the DOM!


Testing (Jest & React Testing Library)

This project has a code coverage of 100% with functional as well as unit tests written with care.

ko-fi

chat-app-client's People

Contributors

dependabot[bot] avatar depfu[bot] avatar raravi avatar

Stargazers

 avatar

Watchers

 avatar  avatar

chat-app-client's Issues

Depfu Error: Depfu is stuck and needs your help

Hello,

⚠️ We're getting errors with this repo and have given up after trying several times.

In most cases that means something is wrong with your current Npm setup and we can't fix it automatically:

• Error details:
NPM Error: Error: Failed to replace env in config: ${BIT_TOKEN}
    at /app/node_modules/npm/lib/config/core.js:415:13
    at String.replace (<anonymous>)
    at envReplace (/app/node_modules/npm/lib/config/core.js:411:12)
    at parseField (/app/node_modules/npm/lib/config/core.js:389:7)
    at /app/node_modules/npm/lib/config/core.js:330:24
    at Array.forEach (<anonymous>)
    at Conf.add (/app/node_modules/npm/lib/config/core.js:328:23)
    at ConfigChain.addString (/app/node_modules/npm/node_modules/config-chain/index.js:244:8)
    at Conf.<anonymous> (/app/node_modules/npm/lib/config/core.js:316:10)
    at /app/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:123:16
/app/node_modules/npm/lib/npm.js:59
      throw new Error('npm.load() required')
      ^

Error: npm.load() required
    at Object.get (/app/node_modules/npm/lib/npm.js:59:13)
    at process.errorHandler (/app/node_modules/npm/lib/utils/error-handler.js:205:32)
    at process.emit (events.js:198:13)
    at process._fatalException (internal/bootstrap/node.js:496:27)

After you've fixed the problem, please activate this project again in the Depfu Dashboard.

👉 We will not send you further PRs until this is fixed and the repo is activated again.

If you need help or this looks like an error on our side, please send us an email.

Depfu Error: Depfu is stuck and needs your help

Hello,

⚠️ We're getting errors with this repo and have given up after trying several times.

In most cases that means something is wrong with your current Npm setup and we can't fix it automatically:

• Error details:
NPM Error: Error: Failed to replace env in config: ${BIT_TOKEN}
    at /app/node_modules/npm/lib/config/core.js:415:13
    at String.replace (<anonymous>)
    at envReplace (/app/node_modules/npm/lib/config/core.js:411:12)
    at parseField (/app/node_modules/npm/lib/config/core.js:389:7)
    at /app/node_modules/npm/lib/config/core.js:330:24
    at Array.forEach (<anonymous>)
    at Conf.add (/app/node_modules/npm/lib/config/core.js:328:23)
    at ConfigChain.addString (/app/node_modules/npm/node_modules/config-chain/index.js:244:8)
    at Conf.<anonymous> (/app/node_modules/npm/lib/config/core.js:316:10)
    at /app/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:115:16
/app/node_modules/npm/lib/npm.js:59
      throw new Error('npm.load() required')
      ^

Error: npm.load() required
    at Object.get (/app/node_modules/npm/lib/npm.js:59:13)
    at process.errorHandler (/app/node_modules/npm/lib/utils/error-handler.js:205:32)
    at process.emit (events.js:198:13)
    at process._fatalException (internal/bootstrap/node.js:496:27)

• Error details:
NPM Error: Error: Failed to replace env in config: ${BIT_TOKEN}
    at /app/node_modules/npm/lib/config/core.js:415:13
    at String.replace (<anonymous>)
    at envReplace (/app/node_modules/npm/lib/config/core.js:411:12)
    at parseField (/app/node_modules/npm/lib/config/core.js:389:7)
    at /app/node_modules/npm/lib/config/core.js:330:24
    at Array.forEach (<anonymous>)
    at Conf.add (/app/node_modules/npm/lib/config/core.js:328:23)
    at ConfigChain.addString (/app/node_modules/npm/node_modules/config-chain/index.js:244:8)
    at Conf.<anonymous> (/app/node_modules/npm/lib/config/core.js:316:10)
    at /app/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:115:16
/app/node_modules/npm/lib/npm.js:59
      throw new Error('npm.load() required')
      ^

Error: npm.load() required
    at Object.get (/app/node_modules/npm/lib/npm.js:59:13)
    at process.errorHandler (/app/node_modules/npm/lib/utils/error-handler.js:205:32)
    at process.emit (events.js:198:13)
    at process._fatalException (internal/bootstrap/node.js:496:27)

• Error details:
NPM Error: Error: Failed to replace env in config: ${BIT_TOKEN}
    at /app/node_modules/npm/lib/config/core.js:415:13
    at String.replace (<anonymous>)
    at envReplace (/app/node_modules/npm/lib/config/core.js:411:12)
    at parseField (/app/node_modules/npm/lib/config/core.js:389:7)
    at /app/node_modules/npm/lib/config/core.js:330:24
    at Array.forEach (<anonymous>)
    at Conf.add (/app/node_modules/npm/lib/config/core.js:328:23)
    at ConfigChain.addString (/app/node_modules/npm/node_modules/config-chain/index.js:244:8)
    at Conf.<anonymous> (/app/node_modules/npm/lib/config/core.js:316:10)
    at /app/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:115:16
/app/node_modules/npm/lib/npm.js:59
      throw new Error('npm.load() required')
      ^

Error: npm.load() required
    at Object.get (/app/node_modules/npm/lib/npm.js:59:13)
    at process.errorHandler (/app/node_modules/npm/lib/utils/error-handler.js:205:32)
    at process.emit (events.js:198:13)
    at process._fatalException (internal/bootstrap/node.js:496:27)

After you've fixed the problem, please activate this project again in the Depfu Dashboard.

👉 We will not send you further PRs until this is fixed and the repo is activated again.

If you need help or this looks like an error on our side, please send us an email.

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.