Este repositório contém o código-fonte da API REST desenvolvida para gerenciar informações do portfólio. Essa API permite a criação, leitura e exclusão de dados relacionados a projetos, habilidades, experiências e outras informações relevantes.
- Node.js: Ambiente de execução JavaScript.
- NestJS: Framework para construir aplicações Node.js escaláveis.
- TypeORM: ORM para TypeScript e JavaScript.
- VercelBlob: Storage para armazenamento de imagens.
- PostgreSQL: Banco de dados relacional.
- Projetos: Crie e delete seus projetos, incluindo informações como nome, descrição, tecnologias utilizadas e links para repositórios.
- Habilidades: Liste suas habilidades técnicas e suas respectivas proficiências.
- Repositórios: faça buscas aos seus repositorios do Github.
- Certificações: Armazene informações sobre suas certificações.
- Analises: Armazene informações sobre os acessos.
- Sobre Mim: Crie uma seção "Sobre Mim" personalizada.
O sistema oferece uma experiência dinâmica para gerenciar portfólios, permitindo adição e remoção de informações sem a necessidade de redeploy. Isso facilita a manutenção e garante que o portfólio esteja sempre atualizado.
- Token do GitHub
- Token do Vercel Blob
- URL de conexão com banco PostgreSQL
- Clone o repositório:
git clone https://github.com/CristianoMends/portifolio-api
cd portifolio-api
- Configure as variaveis de ambiente
Crie um arquivo .env no diretório raiz do projeto e adicione as seguintes variáveis:
BLOB_READ_WRITE_TOKEN=token_do_vercel_blob
DATABASE_URL=jdbc:postgresql://host:port/database
GITHUB_TOKEN=seu_token_github
GITHUB_USER=seu_usuario_github
ALLOWED_DOMAIN=http://localhost:4200 # Dominio permitido para requisições
ALLOWED_IP=192.168.1.100 # IP permitido para requisições
ALLOWED_TOKEN=defina_uma_senha_para_requisicoes
- Inicie a aplicação:
npm install
npm run start
- Acesse a aplicação:
http://localhost:3000
- Acesse a documetação do swagger:
http://localhost:3000/api