ReactJS, NodeJS, ExpressJS, MongoDB, AES Encryption
MERN Chat App AES Encryption uses a number of open source projects to work properly:
- ReactJS - a JavaScript library for building user interfaces.
- NodeJS - is an open-source, server-side JavaScript runtime environment that allows you to run JavaScript code on the server.
- ExpressJS - is a popular web application framework for Node.js. It provides a set of features and tools that simplify the process of building web applications and APIs.
- MongoDB - a document-oriented, No-SQL database used to store the application data.
MERN Chat App AES Encryption application requires Node.js to run.
$ git clone https://github.com/catalyn98/MERN-Chat-App-AES-Encryption.git
To set up your project, follow these steps:
- Create a .env file in the following directories: the backend api folder, the frontend-user folder, and the frontend-admin folder, this file will store your environment variables.
- Create a MongoDB database and obtain the connection string provided by MongoDB for connecting to your database.
- Create a Firebase project and obtain the Firebase connection string.
Start the server:
$ npm run build
$ npm start
Start the frontend:
$ cd frontend
$ npm run dev
Register screen | Login Screen | Start screen |
---|---|---|
![]() |
![]() |
![]() |
Conversation screen | ||
![]() |
The Advanced Encryption Standard (AES) is a specification for the encryption of electronic data established by the U.S. National Institute of Standards and Technology (NIST) in 2001. AES is a symmetric key encryption technique, which means the same key is used for both encrypting and decrypting the data. It was designed to be a replacement for the older Data Encryption Standard (DES) and has since become the standard for secure data encryption worldwide. AES operates on blocks of data and is capable of using cryptographic keys of 128, 192, and 256 bits to encrypt and decrypt data in blocks of 128 bits. The process involves several rounds of data transformation, the number of which depends on the key length: 10 rounds for 128-bit keys, 12 rounds for 192-bit keys, and 14 rounds for 256-bit keys. Each round consists of several steps, including substitution, permutation, mixing, and key addition. AES is widely used in various applications, from securing confidential data to encrypting internet communications, and is considered very secure against all currently feasible attacks. It has been analyzed extensively and is an encryption standard endorsed by many organizations and governments around the world.