Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions time-series-api/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
node_modules
dist
coverage
.git
.gitignore
Dockerfile
docker-compose.yml
README.md
.env
npm-debug.log
8 changes: 8 additions & 0 deletions time-series-api/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
PORT=3000
NODE_ENV=development
MONGODB_URI=mongodb://localhost:27017/time-series-api
KAFKA_ENABLED=false
KAFKA_CLIENT_ID=time-series-api
KAFKA_BROKERS=localhost:9092
KAFKA_TOPIC_TIME_SERIES_CREATED=time-series.created
KAFKA_TOPIC_TIME_SERIES_DELETED=time-series.deleted
17 changes: 17 additions & 0 deletions time-series-api/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
node_modules/
dist/
coverage/

.env
.env.*
!.env.example

*.log

.vscode/
.idea/

*.tsbuildinfo

.DS_Store
Thumbs.db
28 changes: 28 additions & 0 deletions time-series-api/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
FROM node:20-alpine AS base

WORKDIR /app

COPY package*.json ./
RUN npm ci

COPY tsconfig.json ./
COPY jest.config.ts ./
COPY src ./src
COPY tests ./tests

FROM base AS builder

RUN npm run build

FROM node:20-alpine

WORKDIR /app

COPY package*.json ./
RUN npm ci --omit=dev

COPY --from=builder /app/dist ./dist

EXPOSE 3000

CMD ["npm", "run", "start"]
48 changes: 48 additions & 0 deletions time-series-api/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
up:
docker compose up -d --build

down:
docker compose down

down-v:
docker compose down -v

logs:
docker compose logs -f

logs-api:
docker compose logs -f api

logs-mongo:
docker compose logs -f mongo

logs-kafka:
docker compose logs -f kafka

topics:
@echo "Kafka topics are created automatically during 'make up'."

ps:
docker compose ps

restart:
docker compose down
docker compose up -d --build

test:
npm test

test-docker:
docker compose run --rm test

perf-count:
npm run test:performance:count

perf-get:
npm run test:performance:get-by-id

perf-metrics:
npm run test:performance:metrics

dev:
npm run dev
Loading