https://github.com/matdemn/http-assignment
One of the http assignments done by me
https://github.com/matdemn/http-assignment
Last synced: 9 months ago
JSON representation
One of the http assignments done by me
- Host: GitHub
- URL: https://github.com/matdemn/http-assignment
- Owner: MatDemn
- Created: 2024-05-01T21:02:29.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-05-01T21:23:55.000Z (about 2 years ago)
- Last Synced: 2025-03-13T13:43:56.042Z (over 1 year ago)
- Language: TypeScript
- Size: 22.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Zadanie rekrutacyjne
_Mateusz Zając_
Kod źródłowy aplikacji napisany jest w języku TypeScript. Kod skompilowany do języka JavaScript znajdzie się w folderze "dist". Plikiem wejściowym programu jest "index.js".
### 1. Zawartość repozytorium
- Główna aplikacja (app) - kod realizujący funkcje załączone w mailu
- Serwer tstowy (test_server) - serwer służący do testów zachowania aplikacji
### 2. Instalacja
**Wymagania:**
- Node.js 21.7.1 (lub późniejsze)
1. Uruchom terminal.
2. Przejdź do folderu "app".
3. Uruchom w terminalu:
```
npm install
```
4. Utwórz plik ".env" w katalogu projektu i uzupełnij go:
```
API_URL=https://your_url_to_fetch_data_from
API_CONTENT_TYPE=application/vnd.orangeott.v1+json
X=10
Y=5
PING_URL=your_url_to_ping
PING_PACKETS=4
```
**API_URL** - URL, z którego ma być pobierana odpowiedź API.
**API_CONTENT** - Content-Type, który ma być akceptowany.
**X** - Ilość zapytań, która ma być wysyłana do serwera.
**Y** - Czas pomiędzy grupami zapytań.
**PING_URL** - URL, który ma być używany do pingu.
**PING_PACKETS** - Ilość pamietów ping wysyłanych do powyższego serwera.
5. Zbuduj projekt:
```
npm run build
```
6. Uruchom program:
```
npm start
```
### 3. Pozostałe informacje:
- Program wysyła X zapytań jedno po drugim i wyświetla ich wyniki. Potem wyświetlają się wyniki polecenia ping. Następnie jest pauza na Y sekund. Po tym czasie cykl powtarza się.
- Logi wyświetlają się na konsoli, ale również zapisują się w pliku "logs/log.txt". Plik z logami ma ograniczenie na 10MB. Po przekroczeniu limitu jest rotowany.
- Jeśli chcesz skorzystać z testowego serwera, ale z innym portem niż domyślny (7357),
utwórz plik .env w folderze test_server i uzupełnij go:
```
PORT=7357
```
- Serwer testowy jest tylko do sprawdzania zachowania aplikacji. Nie stanowi integralnej części projektu.
- Użyte biblioteki można znaleźć w pliku package.json, w sekcji 'dependencies'.