Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/matheus369k/portfolio-back-end
Este repositório contém o backend do meu portfólio. Ele é desenvolvido em TypeScript e utiliza várias tecnologias modernas para fornecer uma base sólida e escalável para o portfólio.
https://github.com/matheus369k/portfolio-back-end
fastify mongodb-database mongoose nodejs typescript zod
Last synced: 8 days ago
JSON representation
Este repositório contém o backend do meu portfólio. Ele é desenvolvido em TypeScript e utiliza várias tecnologias modernas para fornecer uma base sólida e escalável para o portfólio.
- Host: GitHub
- URL: https://github.com/matheus369k/portfolio-back-end
- Owner: matheus369k
- License: mit
- Created: 2024-10-04T19:17:39.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-10-30T21:56:43.000Z (about 2 months ago)
- Last Synced: 2024-10-30T22:23:26.023Z (about 2 months ago)
- Topics: fastify, mongodb-database, mongoose, nodejs, typescript, zod
- Language: TypeScript
- Homepage:
- Size: 86.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
Portfolio - BackEnd Node
[Descrição](#descrição)
|
[Demo](#demo-gif)
|
[Iniciando](#iniciando)
|
[Dependências](#dependências)
|
[Rotas](#rotas)
|
[Licença](#licença)
## Demo Gif
## Descrição
Este repositório contém o backend do meu portfólio. Ele é desenvolvido em TypeScript e utiliza várias tecnologias modernas para fornecer uma base sólida e escalável para o portfólio.
## Dependências
- Git - [baixar](https://git-scm.com)
- Node - [baixar](https://nodejs.org/pt)
- MongoDb - [site](https://cloud.mongodb.com/)
- Emailjs - [site](https://dashboard.emailjs.com)
- VSCode ( Recomendado ) - [baixar](https://code.visualstudio.com)## Iniciando
Para testar o projeto na sua maquina, recomenda-se clonar o repositório em uma pasta local, como seguinte comando.
### Instalando o projeto
Digite no terminal
__HTTPS__
```
$ git clone https://github.com/matheus369k/portfolio-back-end.git
```
Acesse o projeto com seguinte comando
```
$ portfolio-back-end
```
Instalando as dependências
```
$ npm install
```
### Configurandocrie um arquivo __.env__ e adicione as variáveis ambiente a seguir
Url do banco de dados mongodb
```
DATABASE_URL="mongodb://:@:/"
```
Porta e host do servidor
```
PORT=3333
HOST="0.0.0.0"
```
Informações necessárias para o uso do emailjs
```
EMAIL_SERVER_ID="xxxxxxxx"
EMAIL_TEMPLATE_ID="xxxxxxxx"
EMAIL_PUBLIC_KEY="xxxxx_xx-x"
EMAIL_PRIVATE_KEY="xxxxxxxx-"
```
Para inserir os dados no banco use o comando a seguir
```
$ npm run seed
```
Aplicação pronta, use o comando abaixo para rodar a aplicação
```
$ npm run dev
```
## Rotas
__Método HTTP GET__
Coletar todos projetos
```
/projects
```
Liminar a quantidade de projetos
```
/projects/:max
```
Coletar todas as tecnologias
```
/tools
```
Coletar todos os certificados
```
/certificates
```
Limitar a quantidade de certificados
```
/certificates/:max
```
__Método HTTP POST__
Registar novo projeto
```
/projects
```
```
{
name: string,
slug: string,
tools: [string],
images_url: {
png: string,
gif: string
},
description: string,
links: {
deploy: string,
repository: string
}
}
```
Registar nova tecnologia
```
/tools
```
```
{
name: string,
svg_url: string,
}
```
Registrar novo certificado
```
/certificates
```
```
{
title: string,
validation_code: string,
image_url: string,
verification_url: string
}
```
Enviar email
```
/invite-email
```
```
{
email: string,
from_name: string,
message: string
}
```__Método HTTP DELETE__
Deletar projeto
```
/projects/:id
```
Deletar tecnologias
```
/tools/:id
```
Deletar certificado
```
/certificates/:id
```## 📜Licença
Para o projeto fora usado a licença 🔗[MIT](/LICENSE.txt).