- Introduction
- Video Demo
- Technologies Used
- Features
- How to install and run the project
- Acknowledgements
- License
SChat is a fantastic messaging solution for security-conscious mobile users. It's a free all-in-one messaging and attachments and media messages solution that uses its own end-to-end encryption algorithm.
SChat use ECDH to generate shared-secret to encrypt and decrypt messages. The attachments are encrypted via RSA key and AES before archiving on IPFS.
This is the Software Requirements Document
You can have a look with SChat through the video.
SChat use the following technologies, frameworks and development techniques:
- Backend - NestJs
- Mobile - React Native
- Database - MongoDB
- Ethereum blockchain - Ethereum
- IPFS network - IPFS
- Project Management - Azure DevOps
Features on Schat:
- Log in
- Registration
- Encrypted chat
- Send encrypted files
To clone and run this application, you'll need Npm - package manager, NodeJs, Visual Studio Code, Truffle, IPFS installed on your computer.
*** Run Back-end
$ cd backend
$ npm install
$ npm run start:dev
*** Run Front-end
$ cd frontend
$ expo start
*** Run Ethereum Virtual Node
Open ganache
*** Run IPFS Node
# create new ipfs node
$ ipfs init
# run ipfs node
$ ipfs daemon
The server is listening at port 3000
- Thanks to NestJS for supporting us with NestJS document
- Thanks to Npm - package manager for supporting us to use library community
- Thanks to React Native
- Thanks to Ethereum
- Thanks to IPFS
- Thanks to Stackoverflow for supporting us
- Thanks to Github for supporting us control application's versions
Copyright © 2021.
This project is MIT licensed.