This api provides everything you need to organise appointments between the customers and the barbers.
Customer can select the best time available between Monday and Friday from 9am to 6pm.
Providers can see all their appointments using a calendar, manage the times and see his agenda of the day.
To see the web client, click here: GoBarber Web
To see the mobile client, click here: GoBarber Mobile
Technologies used to develop this api
- Node.js
- TypeScript
- Express
- Multer
- TypeORM
- JWT-token
- uuid v4
- PostgreSQL
- Date-fns
- Jest
- Eslint
- Prettier
- EditorConfig
- Node.js
- Yarn or npm
- One instance of PostgreSQL
Obs.: Docker is recommended
Clone the project and access the folder
$ git clone https://github.com/johnfreitas/gobarber-api.git && cd gobarber-api
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
# then, run the api service
$ yarn dev:server
# that's all. Enjoy the api!
Make a fork to this repository
# Fork using GitHub official command line or using the github website.
$ gh repo fork johnfreitasau/gobarber-api
Follow the steps below
# Clone your fork
$ git clone your-fork-url && cd gobarber-api
# Create a branch with your feature
$ git checkout -b my-feature
# Make the commit with your changes
$ git commit -m 'feat: My new feature'
# Send the code to your remote branch
$ git push origin my-feature
After your pull request is merged, you can delete your branch