3rd Party Pre Requisites #
We make use of the following 3rd party services so you must have accounts and the related keys and tokens for each. Follow the links below for specific instructions on each.
- Whats App API
- Yoto API
- Grafana (optional)
System Requirements #
You will need the following software installed:
- Docker
Clone the Project #
Clone the project from GitHub:
git clone git@github.com:Stuart98/yoto-messenger-app.git
Create/Update the .env file #
Copy the .env-sample file as .env and add the relevant keys.
Full details of what each key is and what it is used for can be found in the Environment Variables page.
Launching the Application (dev mode) #
The application is setup with Docker to make set up as easy as possible.
On the command line navigate to the project's root folder.
Then start the Docker containers:
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up --build
This will start 4 things:
- The Postgres database
- The Deno API
- The Nuxt web app
- The Eleventy docs
Test the API #
The API will start on port 8000 and you can open the Postman collection and try one of the endpoint to see if you get a response back.
Test the App #
The Nuxt app will run on port 3000 and you can navigate to http://localhost:3000 in your browser to see the app.
Try logging in with Yoto and you should be able to set up your local account.
View the Docs #
The Eleventy docs will run on port 8080 and you can navigate to http://localhost:8080 in your browser to see the docs.
Launching the Application (prod mode) #
The Docker setup can be run in production mode, which will build the web app and serve it in production mode.
On the command line navigate to the project's root folder.
Then start the Docker containers:
docker-compose up --build
This will start the API on port 8000 and build the Nuxt app, serving it on port 3000.