This project is a clone of the WhatsApp web application, built using PostgreSQL, React, Node.js, and Redis.
To get started with the project, follow these steps:
Clone the repository to your local machine.
Install the dependencies using npm install.
Set up a PostgreSQL database.
Set up a Redis and run the server.
Run the database migrations using npm run migrate:up.
Start the backend server using npm start.
Start the frontend server using npm run dev
Navigate to https://localhost:5173 in your web browser.
- Create a new PostgreSQL database named
whats_app
.CREATE DATABASE whats_app;
- Run the following commands to create a new PostgreSQL user:
CREATE ROLE admin WITH LOGIN PASSWORD 'admin';
ALTER ROLE admin SUPERUSER CREATEROLE CREATEDB;
GRANT ALL PRIVILEGES ON DATABASE whats_app TO admin;
- Clone the repository to your local machine.
- Navigate to the project directory and run
npm install
oryarn
to install dependencies. - Start the API in dev mode with
npm run dev
oryarn dev
. - Without closing the terminal, navigate to the frontend directory with
cd frontend
. - Run
npm install
oryarn
to install frontend dependencies. - Start the frontend server with
npm run start
oryarn start
.
Note: The .env
file contains environment variables that are used by the application to connect to the database and Redis server, as well as the session secret key. Please review the file carefully before using it, and make any necessary changes to ensure that it works with your specific environment.
To contribute to this project, follow these steps:
- Fork this repository.
- Create a branch for your feature or bug fix.
- Make your changes and commit them.
- Push your changes to your fork.
- Submit a pull request to this repository..
This project is licensed under the MIT License. See the LICENSE file for details.
This project is still in beta version and is not yet ready for production use. There may be bugs, incomplete features, or other issues that need to be addressed. Use at your own risk and please report any issues you encounter.
- React - Single Page Application Library
- Node.js - JavaScript Runtime
- Express - JavaScript API Framework
- Redis - In-Memory Data Store
- PostgreSQL - Open Source Relational Database