Express Application for GoBarber project
The best way to schedule your service!
About the project | Technologies | Getting started | License
💇🏻♂️ About the project
This api provides everything needed to organize appointments between the barbers and customers.
Customers can choose the best time available to them.
Providers can see all their appointments, manage the times, also see if one client canceled the schedule.
To see the web client, click here: GoBarber Web
To see the mobile client, click here: GoBarber Mobile
🚀 Technologies
Technologies that I used to develop this api
- Node.js
- TypeScript
- Express
- Multer
- TypeORM
- JWT-token
- uuid v4
- PostgreSQL
- Date-fns
- Jest
- Eslint
- Prettier
- EditorConfig
💻 Getting started
Import the Insomnia.json
on Insomnia App or click on Run in Insomnia button
Requirements
- Node.js
- Yarn or npm
- One instance of PostgreSQL
Obs.: I recommend use docker
Clone the project and access the folder
$ git clone https://github.com/danilosales/gobarber-backend.git && cd gobarber-backend
Follow the steps below
# Install the dependencies
$ yarn
# Make a copy of '.env.example' to '.env'
# and set with YOUR environment variables.
# The aws variables do not need to be filled for dev environment
$ cp .env.example .env
# Create the instance of postgreSQL using docker
$ docker run --name gobarber-postgres -e POSTGRES_USER=docker \
-e POSTGRES_DB=gobarber -e POSTGRES_PASSWORD=docker \
-p 5432:5432 -d postgres
# Create the instance of mongoDB using docker
$ docker run --name gobarber-mongodb -p 27017:27017 -d -t mongo
# Create the instance of redis using docker
$ docker run --name gobarber-redis -p 6379:6379 -d -t redis:alpine
# Make a copy of 'ormconfig.example.json' to 'ormconfig.json'
# and set the values, if they are not filled,
# to connect with docker database containers
$ cp ormconfig.example.json ormconfig.json
# Once the services are running, run the migrations
$ yarn typeorm migration:run
# To finish, run the api service
$ yarn dev:server
# Well done, project is started!
After your pull request is merged, you can delete your branch
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
Made with 💜 by Danilo Sales 👋 See my linkedin