ACE Cortex API is Nodejs/Express API with TypeScript, PostgreSQL, Prisma, ESLint and Jest Test Coverage applying concepts from Clean Architecture by Robert C. Martin.
- Typescript
- Node JS (Express)
- Prisma.io
- PostgreSQL
- Git
- List companies endpoint
- Show company endpoint
- Migrations/Seeds
- Bônus
- Authentication
- CRUD
{
"name": "Ace Cortex",
"photo": "https://acestartups.com.br/wp-content/uploads/2021/06/Wallpaper-2-1024x576.png",
"taxId": "12580915000100",
"about": "A ACE Cortex desenvolve empresas, pessoas e negócios por meio da inovação, capacitando, solucionando desafios, gerando resultados e promovendo a transformação cultural.",
"demand": 100000000,
"annualIncome": "Acima de R$ 50 milhões"
}
API Endpoints Naming following REST Resource Naming Guide:
-
POST -
/api/companies
- List all companies -
Request Body
{
limit: 8, // number of companies per request
cursor: 1 // initial position to retrieve data
}
- GET -
/api/companies/:companyId
- Show company by id
Warn:
stop any pg containers already on port 5432
# Run pg docker container
docker-compose up -d
# Change to develop branch
git checkout develop
# Install dependencies
yarn
# Generate .env
yarn env:copy
# Start development server
yarn dev
# Generate Prisma Client
yarn prisma:generate
# Migrate and reset database (approval needed)
yarn prisma:migrate:reset
# Seed database with data
yarn prisma:seed
# Run tests once
yarn test
# Run and watch tests
yarn test:watch
# Run and watch tests coverage
yarn test:cov
- In order to prevent
CORS
errors, runAPI Requests
only from allowed origins or changeallowedOrigins
inside@main/config/cors.config.ts
const allowedOrigins = ["http://localhost:3000"]