https://github.com/alnmaurofranco/liboftech-api-do-while2021
Desafio do evento DoWhile 2021
https://github.com/alnmaurofranco/liboftech-api-do-while2021
docker expressjs nodejs postgresql prisma typescript
Last synced: 3 months ago
JSON representation
Desafio do evento DoWhile 2021
- Host: GitHub
- URL: https://github.com/alnmaurofranco/liboftech-api-do-while2021
- Owner: alnmaurofranco
- Created: 2021-12-16T22:34:52.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-12-15T17:48:39.000Z (over 2 years ago)
- Last Synced: 2025-03-22T05:33:12.208Z (over 1 year ago)
- Topics: docker, expressjs, nodejs, postgresql, prisma, typescript
- Language: TypeScript
- Homepage:
- Size: 102 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
🎓 LibOFTechAPI
## 👨💻 Padrão de Projeto
* [S.O.L.I.D](https://medium.com/thiago-aragao/solid-princ%C3%ADpios-da-programa%C3%A7%C3%A3o-orientada-a-objetos-ba7e31d8fb25) - Princípios da Programação Orientada a Objetos
* [Clean Code](https://balta.io/artigos/clean-code) - Clean Code
* [Clean Architecture](https://medium.com/luizalabs/descomplicando-a-clean-architecture-cf4dfc4a1ac6) - Clean Architecture
## 🚀 Tecnologias
Esse projeto foi desenvolvido com as seguintes tecnologias:
* [Node.js](https://nodejs.org/en/) - A JavaScript runtime built on Chrome's V8 JavaScript engine.
* [Typescript](https://www.typescriptlang.org/) - Typed JavaScript at Any Scale.
* [Express.js](http://expressjs.com/) - Fast, unopinionated, minimalist web framework for Node.js
* [Prisma](https://prisma.io/) - Next-generation Node.js and TypeScript ORM
* [PostgreSQL](https://www.postgresql.org/) - The World's Most Advanced Open Source Relational Database
* [Docker](https://www.docker.com/) - Developers Love Docker. Businesses Trust It.
## ✨ Funcionalidades
- Autenticação do usuário com e-mail e senha ✅
- Perfil de usuário ✅
- Atualizar perfil de usuário ✅
- Livro favorito do usuário ✅
- Listar todos os livros ✅
- Listar os top 5 livros mais visualizados ✅
- Visualização do livro ✅
- Inserção de novos livros pelo administrador ✅
- Atualização de um livro pelo administrador ✅
- Exclusão de livros pelo administrador ✅
## 👨🏼💻 Como executar
Para rodar este projeto é necessário ter [Node.js](https://nodejs.org/) instalado em sua maquina. Caso não tenha ainda basta acessar o site do [Node.js](https://nodejs.org/) e instalar para continuar.
- Clone este repositório com comando
```bash
git clone https://github.com/alnmaurofranco/liboftech-api-do-while2021
```
- Acesse a pasta do projeto
```bash
cd liboftech-api-do-while2021
```
### **🔥 Sem Docker**
- Instale as dependências do projeto com (yarn ou npm) nesse exemplo estou usando **yarn**
```bash
yarn install
```
- Logo depois, você deve renomear o arquivo `.env.example` para `.env` que se encontra na raiz do projeto e modifique a variavel **DATABASE_URL** com suas configurações do seu banco de dados:
```bash
DATABASE_URL="postgresql://USER:PASS@HOST:PORT/DATABASE?schema=public"
```
- Inicie a API com o comando:
```bash
yarn dev:server
```
E pronto agora API estára rodando e pode ser acessado em [`http://localhost:3333/api`](http://localhost:3333/api)
### **🐳 Com Docker**
- Subindo o container do projeto no Docker utilizando o comando abaixo:
```bash
docker-compose up -d
```
- E depois de subir o container, você deve renomear o arquivo `.env.example` para `.env` que se encontra na raiz do projeto e modificar a variavel **DATABASE_URL** com as configurações abaixo:
```bash
DATABASE_URL="postgresql://docker:docker@api-database:5432/libdb?schema=public"
```
E pronto sua API estára rodando com Docker e já pode ser acessado em [`http://localhost:3333/api`](http://localhost:3333/api)
---
Feito com 💚 by AlanM Franco