An open API service indexing awesome lists of open source software.

https://github.com/trycontrolmymind/funraise-test


https://github.com/trycontrolmymind/funraise-test

Last synced: 19 days ago
JSON representation

Awesome Lists containing this project

README

          

# fundraise test fullstack

## Get started

### 1. Install node.js v18.10.0 or NVM

```bash
nvm install
nvm use
```

### 2. NPM install

```bash
npm install
```

### 3. Build everything

```bash
npm run build
```

### 4. Start database

```bash
cd packages/backend
docker-compose up --build
```

Mongo Express: http://localhost:8081

### 5. Start application

```bash
cd packages/backend
npm run start
```

Serving HTML on http://localhost:8000
Serving script and /track on http://localhost:8001

ENV Variables https://github.com/trycontrolmymind/funraise-test/blob/master/packages/backend/.env

# Bonus

Напишите свой сниппет вставки трекера на страницу, замените им , и объясните зачем “все так усложнили”.

> Это нужно для того, чтобы асинхронно грузить script и перед загрузкой скрипта куда-то складывать события, которые происходят по ходу.

---

Сделайте так, чтобы при клике по ссылке все события успели дойти до бекенда до перехода на новую страницу.

> Добавил navigator.sendBeacon для отправки при закрытии страницы, чтобы отправка не терялась при закрытии

---

Сделайте так, чтобы при CORS запросе не происходил префлайт OPTIONS запрос.

> Изменил content-type: text/plain и сделал, чтобы express пытался парсить json из text/plain