jpedroschmitz / gobarber-api

:barber: An API for barber appointment and scheduling.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


GoBarber

GoBarber API

An API for barber appointment and scheduling.

PRs Welcome License MIT


Features

A Node.js API built with Express and all the latest tools and best practices in development!

  • ⚑ Express β€” A web framework for Node
  • πŸ’Ύ Sequelize β€” SQL dialect ORM for Node.js
  • πŸ‚ MongoDB β€” document-based database
  • πŸ”‘ Redis β€” key-value data model
  • ⌨️ Yup - Object schema validation
  • πŸ”Ί Sentry - cross-platform application monitoring
  • πŸ“§ Nodemailer - Send e-mails with Node.JS
  • πŸ’– Lint β€” ESlint/Prettier/Editor Config

Dependencies

Prerequisites

In the next few weeks, I plan to include Docker directly in the repository with docker-compose, until there this step is required.

To run this server you will need three containers running on your machine.

To do so, you will need to run the following commands:

  • docker run --name redisbarber -p 6379:6379 -d -t redis:alpine;
  • docker run --name mongobarber -p 27017:27017 -d -t mongo;
  • docker run --name some-postgres -e POSTGRES_PASSWORD=docker -p 5433:5432 -d postgres;

Remember: If you restart your machine, you will need to start again the server with docker start <container_id>.

Getting started

Consider checking out the FrontEnd repository!

  1. Clone this repo using https://github.com/jpedroschmitz/gobarber-api.git
  2. Move to the appropriate directory: cd gobarber-api.
  3. Run yarn to install dependencies.
  4. Copy the .env.example file and rename it to .env.
  5. Add all the values for the environment variables.
  6. Run yarn start and yarn queue to run the servers at http://localhost:3000.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

About

:barber: An API for barber appointment and scheduling.

License:MIT License


Languages

Language:JavaScript 98.0%Language:HTML 2.0%