Gobarber
💈✂️ GoBarber - A Barber Schedule App - | - Developed during the bootcamp GoStack by @Rocketseat
Install / Use
/learn @StefanoSaffran/GobarberREADME
:computer: Project
💈 A barber scheduling app allowing users to choose from a list of barbers and barbers to track their appointments. 💈
<p align="center"> <img src="https://res.cloudinary.com/stefanosaffran/image/upload/v1593515951/GoStack/wpdzqxxsrsfvmipep1r2.gif" > </p>:rocket: Built with
This project was developed with the following technologies:
<details> <summary>Backend</summary>- Node.js
- Express
- TypeORM
- Typescript
- TS-Node-Dev
- MongoDB
- Docker
- PostgreSQL
- JWT
- Celebrate
- AWS S3
- Multer
- Tsyringe
- uuidv4
- Bcrypt
- Cors
- Dotenv
- Handlebars
- Nodemailer
- ESLint
- Prettier
- VS Code
- React
- Typescript
- Unform
- Styled Components
- Context API
- React-toggle
- React-spring
- Polished
- Yup
- Date-fns
- uuidv4
- Axios
- React Icons
- ESLint
- Prettier
- VS Code
- React
- React Native
- Typescript
- Unform
- Styled Components
- Context API
- React Navigation
- React Native Vector Icons
- Axios
- ESLint
- Prettier
- VS Code
:information_source: How to run
Requirements
To run the application you will need:
I strongly recommend using Docker to run the databases. <br> If you decide to use docker, follow this steps to install and run the docker image.
# install Postgres image (if you don't specify an username it will be postgres by default)
$ docker run --name postgresimagename -e POSTGRES_PASSWORD=yourPassword -p 5432:5432 -d postgres
# install Mongo image
$ docker run --name mongoimagename -p 27017:27017 -d -t mongo
# install Redis image
docker run --name redisimageName -p 6379:6379 -d -t redis:alpine
# start Postgres
$ docker start postgresimagename
# start Mongo
docker start mongoimagename
# start Redis
docker start redisimageName
Backend
Now clone the repository and install the dependencies.
# to clone the repository
$ git clone https://github.com/StefanoSaffran/gobarber.git
# go into the backend folder
$ cd gobarber/backend
#install the backend dependencies
$ yarn
In order to connect to the database, you will need to enter the access informations into a ormconfig.json. You can find more about it here.
Also, you have to configure the enviroments variables in the .env file, based on a .env.example file that is provided in the backend folder, change the variables according to your environment.
# run migrations
$ yarn typeorm migration:run
# run api
$ yarn dev:server
Frontend
# in another tab of the terminal install the frontend dependencies and run it
$ cd frontend
$ yarn
$ yarn start
Mobile
for mobile you need the Android emulator with the SDK installed or IOS emulator and the react-native cli.
<blockquote>The project was developed and tested on Android emulator</blockquote># install dependencies and run the mobile
$ cd mobile
$ yarn
# first open the emulator and start the react native server
$ yarn start
# in another tab install and run the app
$ yarn android
:memo: License
This project is under the MIT license. See the LICENSE for more information
:mailbox_with_mail: Get in touch!
<a href="https://stefanosaffran.com" target="_blank" > <img alt="Website - Stefano Saffran" src="https://img.shields.io/badge/Website--%23F8952D?style=social"> </a> <a href="https://www.linkedin.com/in/stefanosaffran/" target="_blank" > <img alt="Linkedin - Stefano Saffran" src="https://img.shields.io/badge/Linkedin--%23F8952D?style=social&logo=linkedin"> </a> <a href="mailto:stefanoas@gmail.com" target="_blank" > <img alt="Email - Stefano Saffran" src="https://img.shields.io/badge/Email--%23F8952D?style=social&logo=gmail"> </a>Made with :coffee: and ❤️ by Stefano Saffran.
