Skip to content

Etelis/TargetChat-CLIENT

Repository files navigation

Target Chat



Target Chat - Full Stack React ASP.NET SQL chat client and server application.

Target Chat is an open-source team collaboration Real-Time Ready Chat App written with React, ASP.NET, & SQL Database.

Replit - Preview:

You could check a full working application deployed to replit.

  • Target Chat on replit.
  • Default username: Maayan
  • Default password: Maayan12345

Stage of development:

  • Currently the project is in development state so far a full react client is functional
  • APS.NET api and SQL DB will be added

Features

  • Login
  • Register
  • Private(1-1) conversations.
  • Rich Media Attachments including image, video and voice messages.
  • Read receipts
  • Online Presence Indicators
  • Message History
  • Users & Friends List
  • Search by users
  • Conversations List
  • User management
  • Routing (React Router)
  • Real-time
  • Login by QR code.

Technologies


Prerequisites

Before git is imported, ensure you have met the specified requirements:

  • React npm install react

  • React ROUTER-DOM npm install react-router-dom

  • React ROUTE npm install react-router

  • React Scripts npm install react-scripts

  • React Bootstrap npm install react-bootstrap

  • Bootstrap npm install bootstrap


Installing Target Chat

  1. Clone repository using git clone https://github.com/Etelis/TargetChat/

  2. Install dependencies by following requirments section.

  3. Create new react app from the following repository.


Running the Chat application.

  npm start

Screens

Login Page: image

Register Page: image

Main Chat: image


Components:

Registration:

Registration component will allow registration of a new user, regisration form follows the following rules:

  • username field: user name field should at least have a single letter.
  • password field: password field should follow the following regex /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/ - meaning a password should have at least one number and letter, also should be at least at the size of eight.
  • image field - user should specify profile image.

if one of the requirment wasn't met a coresponding error will be shown. image

Login:

login component will allow an existing user to login and retrive existing chats. login form follows the folloiwing rules:

  • username field: user name field should at least have a single letter.

  • password field: password field should follow the following regex /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/ - meaning a password should have at least one number and letter, also should be at least at the size of eight. if one of the requirment wasn't met a coresponding error will be shown. image

    if user couldn't be found a coresponding error will be shown ( form will not indicate if a the user exists ) image

Recording:

recording component will show a recording pop up to chat's footer allowing the user to record and upload a voice recording image

Media Items:

media items as Images and videos will be warrped inside a coresponding component allowing on click full screen view image

Chat Recipient:

adding a new chat receipinct is done by a modal component allowing a user to add new receipient for incomming and out going conversations. image

SignalR:

when a client is connected to the chat application and being added by a diffrent client (session) the new contact will be pushed instantly to the connected chat. 2022-05-26-19-47-49

when a client is connect to a chat with a diffrent client (seesion) and a new message is sent, the message will appear instantly to the connected chat members. 2022-05-26-19-56-36


About

open source Chat application, React, SQL, ASP.NET,

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •