This project is the backend (REST API) for the Unimay Media website.
The server requires an SQL database for operating.
Make sure you have a .env
file in the project root directotry with MySQL database information:
DB_DATABASE=database
DB_HOST=host
DB_USER=user
DB_PASSWORD=password
If the SQL database in use is not MySQL, make sure to add the following line:
DB_DIALECT=postgres
postgres
is an example out of these possible dialects: mysql
, postgres
, sqlite
, db2
, mariadb
, mssql
.
Before running the server, make sure that database
(or schema) from .env
exists in the database.
The server will automatically create tables on first run.
During development data models could be changed; however, by default the ORM is configured not to make any changes to tables. To proceed with alteration process, add the following into .env
and restart the server:
DB_ALTER_TABLES=1
Regular option:
npm install
Production mode:
npm install --omit=dev
To run the development mode, run the following:
npm run dev
To run server in production mode, run the following:
npm start
-
Success
{ "status": "ok", "message": "{{ optional, usually on status 201 }}", "data": {{ null / object / array }} }
-
Error
{ "status": "error", "error": { "code": {{ HTTP status code }}, "message": "{{ meaningful error message }}" } }
Requests should be of type multipart/form-data
(or JavaScript's FormData
).
See /docs endpoint for Swagger UI with info on operations and request/response schemas
Сайт виступає візиткою команди Unimay Media, яка дає можливість ознайомитись з проєктами команди, її членами, та знайти інформацію з приводу партнерства/фідбеку.
- Вебсайт мусить мати секцію з проєктами команди
- Інформація та медіа проєктів додаються/оновлюються/видаляються модераторами
- Система має підтримувати пошук проєктів за назвою та навігацію по проєктах за жанром/типом
- Кожен проєкт мусить мати медіа-плеєр у форматі HTML, який буде вставлено безпосередньо у сторінку під час генерації, та графічне зображення
- Вебсайт повинен мати секцію з інформацією про команду та її учасників
- Записи про учасників команди мусять мати графічне зображення та опцію редагування, додавання та видалення інформації
- Контактна інформація команди мусить мати опцію редаугвання, наряду з посиланнями та описом
- На вебсайті має бути секція "Послуги" з інформацією про комерційну діяльність або партнерство
- Опис/ціна послуг можуть бути змінені модератором
- Система мусить мати Систему Керування Контентом, можливість користування якою є тільки у авторизованих користувачів
- Проєкт має бути у форматі вебсайту, доступного, як з ПК, так і з мобільного пристрою
- Контент і написи вебсайту повинні бути українською мовою
- Усі відео та аудіо-матеріали показані на сайті мають бути взяті з ресурсів у інтернеті у відкритому доступі
- Сумарний обсяг бази даних не повинен перевищувати 1.8 гігабайтів.
Вебсайт служить місцем для знаходження медіа у озвучці команди та інформації про команду.
- Відвідувачі зможуть дивитися медіа у озвучці команди на сайті
- Потенційні партнери/клієнти зможуть знайти усю інформацію про послуги та контактні дані команди
Масштаб проєкту не включає в себе функціонал для перемов або безпосередньої купівлі/продажу послуг, але надає контактні дані для з'єднання з командою.
Команда повинна буде регулювати контент вручну, і тільки вона відповідальна за те, що тільки необхідний контент поститься на вебсайті.
- Можливість реєстрації/логіну для звийчайних користувачів?
- Обмеженність медіа-контенту плеєрами з підтримкою вставлення як
<iframe>
- Збереження графічних зображень для тайтлів та фотографій учасників - де і як?
- Technologies
- Front-end: React on Vite
- Back-end: Express.js
- DB: MySQL
- Hosting
- Front-end: TBD (plan: ukraine.com.ua)
- Back-end: AWS EC2 - t3.nano/t3.micro
- DB: front-end hosting
2022/04/13
1 USD ($) ~ 37 UAH (₴)
- Front-end + MySQL: ₴2100/year ~ $56/year
- Domain: ₴600-1000 ~ $15-25
- Back-end - AWS EC2: ~$35/year
Усього: ~$100-120/year