Coder Social home page Coder Social logo

overpriced-coffee's Introduction

Overpriced coffee

В задании будем делать серверную часть для кофешопа

  1. Поставь зависимости и запусти сервер. Перейди в директорию задачи и выполни команду npm install. После установки зависимостей, выполни команду npm run start. После запуска, перейди по адресу localhost:3000

  2. Сделай так, чтобы сервер смог отдавать статические файлы из директории /static. В express для этого есть middleware express.static. Подбробнее можно прочитать здесь. Обрати внимание, что название директории по умолчанию не является частью пути.

  3. Сделай так, чтобы при заходе на / (корень сайта) происходил редирект на /menu. Это можно сделать с помощью одного из методов response

  4. Изучи папку /views и файл menu.hbs. Добавь в меню ещё несколько напитков. Картинки можно взять из папки /static/img или найти самому, например на Unsplash

  5. Сделай так, чтобы сервер смог отображать страницу корзины (/cart). Заготовку для страницы можно найти в файле /static/html/cart, переделай её в /views/cart.hbs. На текущем этапе у всех пользователей сайта корзина будет общая

  6. Сделай так, чтобы при клике на ссылку на странице меню, выбранный кофе добавлялся в корзину, а затем происходил редирект обратно в меню. Для этого пригодятся route parameters

  7. Сделай так, чтобы при клике на ссылку оплатить текущий заказ завершался и корзина очищалась

  8. Добавь страницу /login на которой будет возможность заполнить своё имя. Чтобы сохранить имя используй cookie(). Чтобы читать имя потребуются cookies и cookie-parser middleware.

Обрати внимание, что форма посылается GET запросом. Чтобы прочитать параметры используй query. Не забудь поправить шаблон, чтобы в нём отображалось сохранённое имя.

Убедись, что случайно не получился XSS. В этом поможет документация Handlebars

  1. Сейчас все пользователи нашего сайта имеют общую корзину. Сделай так, чтобы у каждого нового пользователя была своя корзина

  2. * Сделай так, чтобы у каждой страницы был свой title

  3. * Сделай так, чтобы переключение тёмной темы сохранялось при переходе между страницами сайта

  4. * Добавь страницу истории, где показаны все заказы пользователя

overpriced-coffee's People

Contributors

aminopyridin avatar disturm avatar nulladdict avatar vicclone avatar

Watchers

 avatar

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.