Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eliasgcf/gobarber-api
✂️ Rest api for gobarber application - made with express framework - using docker, postgreSQL and typeORM
https://github.com/eliasgcf/gobarber-api
api-rest backend express gobarber nodejs typescript
Last synced: 16 days ago
JSON representation
✂️ Rest api for gobarber application - made with express framework - using docker, postgreSQL and typeORM
- Host: GitHub
- URL: https://github.com/eliasgcf/gobarber-api
- Owner: EliasGcf
- License: mit
- Created: 2020-05-04T19:56:50.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-09-17T16:10:56.000Z (about 3 years ago)
- Last Synced: 2024-10-03T12:24:10.947Z (about 1 month ago)
- Topics: api-rest, backend, express, gobarber, nodejs, typescript
- Language: TypeScript
- Homepage:
- Size: 973 KB
- Stars: 46
- Watchers: 4
- Forks: 22
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Express Application for GoBarber projectThe 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 see all their appointments, manage the times, also see if one client canceled the schedule.
To see the **web client**, click here: [GoBarber Web](https://github.com/EliasGcf/gobarber-web)
To see the **mobile client**, click here: [GoBarber Mobile](https://github.com/EliasGcf/gobarber-mobile)## 🚀 Technologies
Technologies that I used to develop this api
- [Node.js](https://nodejs.org/en/)
- [TypeScript](https://www.typescriptlang.org/)
- [Express](https://expressjs.com/pt-br/)
- [Multer](https://github.com/expressjs/multer)
- [TypeORM](https://typeorm.io/#/)
- [JWT-token](https://jwt.io/)
- [uuid v4](https://github.com/thenativeweb/uuidv4/)
- [PostgreSQL](https://www.postgresql.org/)
- [Date-fns](https://date-fns.org/)
- [Jest](https://jestjs.io/)
- [SuperTest](https://github.com/visionmedia/supertest)
- [Husky](https://github.com/typicode/husky)
- [Commitlint](https://github.com/conventional-changelog/commitlint)
- [Commitizen](https://github.com/commitizen/cz-cli)
- [Eslint](https://eslint.org/)
- [Prettier](https://prettier.io/)
- [EditorConfig](https://editorconfig.org/)## 💻 Getting started
Import the `Insomnia.json` on Insomnia App or click on [Run in Insomnia](#insomniaButton) button
### Requirements
- [Node.js](https://nodejs.org/en/)
- [Yarn](https://classic.yarnpkg.com/) or [npm](https://www.npmjs.com/)
- One instance of [PostgreSQL](https://www.postgresql.org/)> Obs.: I recommend use docker
**Clone the project and access the folder**
```bash
$ git clone https://github.com/EliasGcf/gobarber-api.git && cd gobarber-api
```**Follow the steps below**
```bash
# 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# 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!
```## 🤔 How to contribute
**Make a fork of this repository**
```bash
# Fork using GitHub official command line
# If you don't have the GitHub CLI, use the web site to do that.$ gh repo fork EliasGcf/gobarber-api
```**Follow the steps below**
```bash
# 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
## 📝 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
---
Made with 💜 by Elias Gabriel 👋 [See my linkedin](https://www.linkedin.com/in/eliasgcf/)