Responsável por intermediar as requisições aos bancos de dados e fornecer retorno em JSON para o front-end web e mobile. Além de enviar e-mail's e tratar de toda regra de negócio.
- Typescript
- TypeORM
- Redis
- MongoDB
- AWS S3 Storage
- AWS Email Service
- BCrypt
- Date-fns
- Class-transformer
- Nodemailer
- Multer
- Jest
Faça o clone do projeto:
git clone https://github.com/Igorryan/gobarber
- Entre na pasta "beckend" e pelo terminal, instale as dependências com o comando:
yarn
- Crie um arquivo "ormconfig.json" e configure os bancos:
[
{
"name": "default",
"type": "postgres",
"host": "localhost",
"port": "5432",
"username": "postgres",
"password": "igorryan",
"database": "gostack_gobarber",
"entities": [
"src/modules/**/infra/typeorm/entities/*.ts"
],
"migrations": ["src/shared/infra/typeorm/migrations/*.ts"],
"cli": {
"migrationsDir": "src/shared/infra/typeorm/migrations"
}
},
{
"name": "mongo",
"type": "mongodb",
"host": "localhost",
"port": "27017",
"database": "gostack_gobarber",
"useUnifiedTopology": true,
"entities": [
"src/modules/**/infra/typeorm/schemas/*.ts"
]
}
]
- Preencha as variáveis do arquivo ".env.example" com as suas credenciais e renomei-o para ".env"
Variável | Funcionalidade |
---|---|
APP_SECRET | Um conjunto de caracteres que serve para a criptografia das senhas. |
MAIL_DRIVER | Define qual serviço de e-mail da aplicação, atualmente pode ser setada como ethereal ou ses |
AWS_ACCESS_KEY_ID | Chave de acesso da conta AWS |
AWS_SECRET_ACCESS_KEY | Segredo de acesso da conta AWS |
STORAGE_DRIVER | Define qual serviço armazenamento (storage) da aplicação, atualmente pode ser setada como disk ou s3 |
- Execute as migrations com o comando:
yarn typeorm migration:run
- Por último, execute o comando abaixo para iniciar a API:
yarn dev:server
- Entre na pasta "frontend"
- Instale as dependências com o comando:
yarn
- Execute o projeto com
yarn start
Lembre-se de estar com a API em execução.
- Entre na pasta "mobile"
- Instale as dependências com o comando:
yarn
- Execute o projeto com
yarn android ou yarn ios ou npx react-native run-android
Lembre-se de estar com a API em execução.
Built with ❤︎ by Igor Ryan