GithubHelp home page GithubHelp logo

articlelist's Introduction

Welcome to TestTask_Node.JS_server_for_ArticleList 👋

Архитектура

Серверная часть приложения:

  • в качестве сервера - Exspress.JS
  • база данных MongoDB

Весь сервер находится в директории server/

  • serverjs - модуль с конфигурацией сервера и подключением к БД
  • /routes - директория маршрутизации
  • routes.js - модуль содержащий логику end-point-от сервера
  • fileRead - модуль отвечающий за обработку данных полученых из файла

Фронтенд:

  • ReactJS
  • react-bootstrap
  • Redux

Фронтенд размещен в каталоге src/

  • index.js - файл инициализирующий React приложение, запускает и инициализирует store Redux
  • App.js - основная компонента SWA приложения
  • components/ - директива с компонентами приложения
  • actions - директива с action для обмена обращения UI к BLL
  • articleAPI - модуль, экспортирующий класс, с actions для связи с сервером
  • ../reducers - директива к которой лежит reducer Redux, который изменяет состояния store в зависимости от action
Примечание. В приложении, для доступа к значением <input/> используются ссылки! Тоесть приложение имеет не связанный с store данные. 
Что есть плохим тоном, но вполне уместно, учитывая нацеленость данного приложения, болеее на серверную часть

Тесты:

  • Mocha, Chai, chai-http
  • App.test.js - файл с тестами REST API

REST API

## Получение списка всех ов из базы данных: 
{url:"http://localhost:3001/get", method:"GET", Content-Type: "application/json"}

## Сортировка списка по алфавиту: url:"http://localhost:3001/sort" method:"GET"

##Удаление елемента: url:"http://localhost:3001/delete/:id" method="DELETE"

##Добавления елемента в базу данных: 
url:"http://localhost:3001/create" method:"POST"  Content-Type:"application/x-www-form-urlencoded" data:"Title=value&ReleseYears=value&Format=value&Stars=[value]"

##Поиск елемента в списке: url:"http://localhost:3001/find" method:"POST" data="(Title_or_Stars)=value"

##Загрузка списка из файла: url:"http://localhost:3001/withFile" method:"POST" data=FILE;

Install

npm start

Usage

npm run start

Run tests

npm test

Author

👤 OlehMell

articlelist's People

Contributors

olehmell avatar

Forkers

romazubchik

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.