podgorniy / todo-server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CRUD todo-list сервер

Формат хранения списков любой, на твой выбор. Информация о todo листах сохраняется в папке data в JSON файлах, которые можно трогать ручками.

Стили, скрипты и разметка хранятся в папке static. Смотри по какому пути подключаются файлы в index.html

Сервер эмулирует задержку ответа от 500-1500 миллисекунд.

API

  • get /todos Получение списка всех doto листов в виде массива названий.
  • post /todos/:listName. Создание списка с названием listName. Обязательный параметр - todo должен содержать JSON строку со всей информацией todo списка. Если параметр не указан, пуст, не содержит JSON, или список с указанным именем уже существует, то генерируется ошибка и список не создается.
  • get /todos/:listName. Получение информации о списке с названием listName.
  • put /todos/:listName. Обновление информации о списка с названием listName. Должен быть отправлен обязательный параметр todo, содержащий JSON строку, эти данные полностью заменят собою данные из todo списка с названием listName. Если параметр не указан, пуст, содержит невалидный JSON или список с названием listName не существует, генерируется ошибка, данные на сервере никак не изменяются.
  • delete /todos/:listName. Удаление todo списка с названием listName. Если списка с таким названием не существует, генерируется ошибка.

Запуск сервера

  1. Установить nodejs

  2. Скачать папку с сервером

  3. Установить зависимости: из командной строки перейти в папку с сервером, и запусти

    npm install

  4. Запустить сервер: из командной строки зайти в папке с сервером выполнить:

    node app.js

  5. Открыть в браузере http://localhost:5000/

Размещение на хостинге

Бесплатный вариант heroku вполне сойдет. Файлы, необходимые для запуска приложения на heroku уже находятся в репозитории.

  1. Установить heroku
  2. [Создать приложение] и задеплоить (https://devcenter.heroku.com/articles/getting-started-with-nodejs#deploy-the-app)

Результат выглядит так.

About


Languages

Language:JavaScript 70.9%Language:HTML 29.1%