π GoBarber Application Server π
The best way to schedule your service !
About the project | Technologies | Getting started | How to contribute | 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 view all of their appointments, manage schedules, view appointment history, and also see if a customer has canceled the schedule.
π Technologies
The main technologies used in this API are:
- Node.js
- TypeScript
- Express
- Multer
- TypeORM
- JWT-token
- uuid-v4
- PostgreSQL
- Date-fns
- Jest
- SuperTest
- Eslint
- Prettier
- EditorConfig
π» Getting started
Requirements
- Node.js
- Yarn or NPM
- One instance of PostgreSQL
Fyi.: I recommend using the docker
Clone the project and access the folder
$ git clone https://github.com/hmartiins/GoBarber-Server && cd GoBarber-Server
Follow the steps below
# Install the dependencies
$ yarn install
# 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
# Once the services are running, run the migrations
$ yarn typeorm migration:run
# Finally, run the api service in a development environment :)
$ yarn dev:server
# Well done, project is started!
π€ How to contribute
Make a fork of this repository
# Fork using GitHub official command line
# If you don't have the GitHub CLI, use the web site to do that.
$ gh repo fork hmartiins/GoBarber-Server
Follow the steps below
# Clone your fork
$ git clone your-fork-url && cd GoBarber-Server
# Create a branch with your feature
$ git checkout -b my-awesome-feature
# Make the commit with your changes
$ git commit -m '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
π License
This project is licensed under the MIT License - see the LICENSE file for details.