Skip to content

Urigo/WhatsApp-Clone-Server

Repository files navigation

Whatsapp Clone Server

A full working server for a WhatsApp clone written in latest versions of:

This server constantly being updated by using CI tests and renovate.

You can watch this repository to learn about new updates or check out the git diffs between new versions on the tutorial's version diff pages (at the top of the screen).

It can be used as a boilerplate, a full blown example app and even as a tutorial.

It also is being accompanied by a WhatsApp clone client app located in this repository.

Running locally

Clone the project.

the folder name is case sensitive, WhatsApp-Clone-Server with 'A' in whatsapp and 'S' in server

if you want to use together with the React Client, make sure to name the folder by the default name of the repo Whatsapp-Clone-Server and make sure both projects are under the same folder.

Install dependencies:

$ yarn

Run the the codegen to generate Typescript types from GraphQL:

$ yarn codegen

Install PostgreSQL and initialize a database by following the instructions on this chapter (without the code diffs):

  • With docker - PosgreSQL
docker-compose up -d
  • Without docker - PostgreSQL commands to seed the test user with the following details:
user: 'testuser',
password: 'testpassword',
database: 'whatsapp',
$ psql postgres
$ create database whatsapp
$ create user testuser with encrypted password 'testpassword'

Run tests to make sure everything is ok:

$ yarn test

Start the server:

$ yarn start

If you want to use the ready React application with it, after finishing those steps, follow the instructions on the React repo.

This repository is using the Tortilla project for creating tutorials from real apps and git. For more information, see https://www.tortilla.academy/ and https://www.npmjs.com/package/tortilla.

External contributors

Begin Tutorial >