A full working server for a WhatsApp clone written in latest versions of:
- NodeJS
- Express
- PostgreSQL
- GraphQL
- Typescript
- Apollo-Server
- GraphQL Code Generator
- GraphQL Modules
- Jest
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.
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.
Begin Tutorial > |
---|