Skip to content

Nafaya/wlfilms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Установка 1.

git clone [email protected]:Nafaya/wlfilms.git
cd wlfilms
npm install

Настройка базы 1). В app/config/database.json находятся найстроки доступа к БД

2). В data находится дамп структуры базы.

npm run make_db

##Запуск

npm start

##Продакшин Сборка

npm run build

Запуск

Windows:
set NODE_ENV=production&&npm start
Ubuntu/Mac:
export NODE_ENV=testing&&npm test

#Архитектура

##Файлы index.js - стартовая точка приложения app/ - папка проекта app/config/ - конфиги проекта app/config/server.json - файл конфига сервера app/config/database.json - файл конфига БД app/config/app.json - файл конфига приложения app/config/environment.js - настройка окружения для express-сервера app/config/routes.js - настройка марщрутов для express-сервера app/config/index.js - хелпер для загрузки конфигов

app/controllers - контроллеры.

app/dbmodels - орм-модели БД.

app/models - модели

app/public - public app/public/index.html - точка входа клиента app/public/index.production.html - точка входа клиента для production app/public/css - css app/public/js - js для development app/public/compiled-js - css для production

app/views - views app/views/db_view.js - хелпер для форматирования моделей из БД перед отправкой пользователю

data/ - любые данные касающиеся приложения data/sample_movies.txt - пример файла для загрузки на странице data/wlfilms.sql - дамп структуры бд

scripts/ - скрипты scripts/make_db.js - импорт структуры БД scripts/prestart.js - скрипт перед запуском приложения(проверяет все ли папки создались)

/temp - temp folder

/test - тестовые скрипты

##Маршруты GET / - точка входа в приложение GET /static/css - css files GET /static/js - js files

GET /films/:id - информация про фильм с указаным айди Answer: Success:

        {
            status:'success',
            data:{
                name:FILM_NAME,
                format:FILM_FORMAT,
                realized_at:FILM_REALIZED_AT,
                actors:[ACTOR, ACTOR,....]
            }
        }

GET /films - загрузить список фильмов GET-params: query - строка поиска queryTatrget - 'name'|'actors'. Ищет вхождение среди акутеров или имен фильмов. Answer: Success:

        {
            status:'success',
            data:[
            {
                name:FILM_NAME,
                format:FILM_FORMAT,
                realized_at:FILM_REALIZED_AT,
                actors:[ACTOR, ACTOR,....]
            }
            ,...]
        }

POST /films - добавить фильмы в БД POST-params: *name - название фильма *format - формат *actors - актеры через запятую *realized_at - год выпуска Answer: Success: вернет информацию об созданом обьекте

        {
            status:'success',
            data:{
                 name:FILM_NAME,
                 format:FILM_FORMAT,
                 realized_at:FILM_REALIZED_AT,
                 actors:[ACTOR, ACTOR,....]
             }
        }

POST /films - добавить фильмы в БД POST-params: *films - файл с фильмамы Answer: Success: вернет информацию об успешно созданых обьектах

        {
            status:'success',
            data:[{
                 name:FILM_NAME,
                 format:FILM_FORMAT,
                 realized_at:FILM_REALIZED_AT,
                 actors:[ACTOR, ACTOR,....]
             }
             ,...]
        }

PUT /films/:id - изменить информацию о фильме PUT-params: name - название фильма format - формат actors - актеры через запятую realized_at - год выпуска Answer: Success: вернет новую информацию об обьекте

        {
            status:'success',
            data:{
                 name:FILM_NAME,
                 format:FILM_FORMAT,
                 realized_at:FILM_REALIZED_AT,
                 actors:[ACTOR, ACTOR,....]
             }
        }

DELETE /films/:id - удаляет фильм из БД Answer: Success: вернет информацию об удаленном обьекте обьекте

        {
            status:'success',
            data:{
                 name:FILM_NAME,
                 format:FILM_FORMAT,
                 realized_at:FILM_REALIZED_AT,
                 actors:[ACTOR, ACTOR,....]
             }
        }

При неуспешном запросе ответ будет:

        {
            status:'error',
            message:MESSAGE
        }

#Тесты

Windows:
set NODE_ENV=testing&&npm test
Ubuntu/Mac:
export NODE_ENV=testing&&npm test

About

Test films storage

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published