An open API service indexing awesome lists of open source software.

https://github.com/jefferson1104/gobarber-nodejs

Back-end (API) of the gobarber project, made with nodejs using typescript
https://github.com/jefferson1104/gobarber-nodejs

docker docker-compose nodejs typescript

Last synced: 3 months ago
JSON representation

Back-end (API) of the gobarber project, made with nodejs using typescript

Awesome Lists containing this project

README

          


BACK-END (API)


gobarber


technology
technology
technology


# :barber: About this project
Back-end of the gobarber project made with nodejs using typescript, applying the set of principles and best practices SOLID, TDD and DDD.

# :rocket: Main technologies
- [TypeScript](https://www.typescriptlang.org/docs/)
- [NodeJS](https://nodejs.org/en/)
- [ExpressJS](https://expressjs.com/pt-br/)
- [Jest](https://jestjs.io/pt-BR/)
- [PostgresSQL](https://www.postgresql.org/)
- [MongoDB](https://www.mongodb.com/pt-br)
- [Redis](https://redis.io/)
- [NodeMailer](https://nodemailer.com/about/)

# :zap: How to run this project
Inside the project, there is already a _docker-compose.yml_ file that has 3 **Docker** containers, a container with **PostgresSQL** database, a container with **MongoDB** database and another container with **Redis** caching database, you just have the Docker installed on your machine.

To start the project backend (API):

```Bash
# Access the back-end directory
$ cd gobarber-nodejs

# Install all project dependencies
$ yarn

# Create containers with PostgresSQL, MongoDB and Redis (docker must be installed on the machine)
# The command below will start in the background and will not lock the shell
$ sudo docker-compose up -d

# Command to check if containers are running
$ sudo docker ps -a

# Run migrations for the database
$ yarn typeorm migration:run

# Launch goBarber back-end locally on port 3333
$ yarn dev:server
```

# :zap: How to deploy this project
I've separated a quick guide on how to deploy nodeJS applications on servers or linux vps, using ubuntu, the main point is to configure your project and leave it ready to deploy, and for that follow the [quick guide](./DEPLOY .md).

# 🎨 Imagens