initial commit
This commit is contained in:
commit
5e5aff990d
16 changed files with 1737 additions and 0 deletions
54
README.md
Normal file
54
README.md
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
# Simple MOTD Web App
|
||||
Простенькое MOTD бекенд-приложение на веб-технологиях.
|
||||
|
||||
Предназначено для получения, передачи и сохранения MOTD (Message-of-the-Day).
|
||||
|
||||
## Стек
|
||||
|
||||
Приложение и обвязка написаны на скорую руку, примерно за час. **Нюансы**:
|
||||
- И базы, и приложение, и балансировщик записаны в одной композиции
|
||||
- .env файл используется как для приложения, так и для контейнера с базой данных
|
||||
- Генерация CA + пары сертификат-ключ происходят при сборке контейнера с приложением, один раз. При пересборке используются уже существующие сертификаты - в CI их можно подсунуть перед сборкой.
|
||||
- Само приложение (только приложение - директория `src/`) сгенерировано нейронкой
|
||||
- Никакого CI/CD
|
||||
|
||||
Чтобы этих нюансов не было - полагается трудоустройство, делать что-то полноценное за бесплатно я не собираюсь.
|
||||
|
||||
Стек включает в себя:
|
||||
- Nginx
|
||||
- PostgreSQL
|
||||
- Redis
|
||||
- Node.js (TypeScript)
|
||||
|
||||
## Сборка и запуск
|
||||
|
||||
Требования:
|
||||
- Подключение к интернету
|
||||
- Незанятый порт 443
|
||||
- Docker
|
||||
|
||||
1. Выполним команды:
|
||||
```bash
|
||||
docker run --rm -v ./.ssl:/ssl --entrypoint /bin/sh alpine/openssl -c "/ssl/gen-ca.sh && /ssl/gen-cert.sh localhost"
|
||||
docker compose build
|
||||
docker compose up -d
|
||||
```
|
||||
2. Перейдём к разделу [Использование](#использование).
|
||||
|
||||
## Использование
|
||||
|
||||
Получить MOTD:
|
||||
```bash
|
||||
curl -k https://localhost/motd
|
||||
```
|
||||
|
||||
Установить MOTD:
|
||||
```bash
|
||||
curl -k -X POST https://localhost/motd \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"message":"Hello from MOTD app"}'
|
||||
```
|
||||
|
||||
## P.S.
|
||||
Честно говоря, тестовые задания - это развод гоев на бесплатную рабочую силу, сомнительные конторы их очень любят.<br>
|
||||
В вашем случае я хотя бы увидел живого человека - обычно своё время на такое я не трачу.
|
||||
Loading…
Add table
Add a link
Reference in a new issue