Giter Site home page Giter Site logo

toxin's Introduction

Toxin Hotel

Toxin is a hotel website for room reservations, which is an educational project for learning front-end development, a part of MetaLamp's Education Program. It is based on Figma's design, which was made specifically for studying purposes.

Compatible with

  • node v18.10.0
  • npm 8.19.2

Demo

Goals

  • Learn and understand how to build relatively big and complicated projects from scratch, using Pug, Scss, Js
  • Search, install and implement jQuery plugins into project
  • Work with Webpack and Figma
  • Code with BEM methodology
  • Use PixelPerfect extension to match web elements according to the design
  • Create responsive and flexible web-pages

Pages

UI-kit

Web-site

Dependencies

Install

git clone https://github.com/Riemelt/Toxin.git
cd Toxin
npm i

Commands

Run on dev-server

npm start

Build in development mode

npm run dev

Build in production mode

npm run build

Project structure

├───dist                         # built web-pages
├───pixel-perfect                # exported png images of figma's design for pixel-perfect
└───src
    ├───assets                   # image, font, favicon files
    ├───components               # bem blocks, one folder per component
    ├───layouts                  # layouts with general page structure
    ├───main-styles              # scss variables, global styles, fonts loading
    ├───pages                    # final web-pages and all entry points, one folder per page
    ├───utilities                # js helper functions
    ├───.eslintrc.js             # eslint rules for js
    ├───.gitignore               # list of folders to ignore to commit such as node_modules and dist
    ├───package-lock.json        # node_modules dependencies
    ├───package.json             # project info and dependencies
    ├───README.md                # project info and documentation
    ├───webpack.config.js        # bundler config

toxin's People

Contributors

riemelt avatar

Watchers

 avatar

toxin's Issues

UI/UX

  1. Такой выпадающий список лучше делать position: absolute, иначе сдвигается весь контент внизу
    image
  2. Текст под заголовком тоже лучше сделать кликабельным
    image
  3. При наведении странные стили: текст становится тусклым
    image
  4. На больших экранах лучше сделать так:
    края страницы сделать в цвет футера и/или хедера (белый)
    продолжить хедер/футер (без контента) и за края макета
    photo_2023-02-16_10-14-22
  5. Кнопки кажутся слишком большими
    image
  6. В планшетных/мобильных версиях лучше выравнивать по вертикали
    photo_2023-02-16_10-23-49
  7. На мобилках можно сократить расстояния (на картинке) + всегда нужно следить, чтобы ничего не слипалось и оставлять хотя бы небольшое расстояние
    photo_2023-02-16_10-30-41

Блок Button

const themeClass = {
default: '',
bordered: ` ${className}_theme_bordered`,
filled: ` ${className}_theme_filled`,
long: ` ${className}_theme_long`,
borderedHeader: ` ${className}_theme_bordered-header`,
longHeader: ` ${className}_theme_long-header`,
}

Это не совсем все к теме относится, желательно разбить на разные модификаторы, чтобы можно было задавать цвет, тему и размер отдельно.

BEM

  1. Тк БЭМ требует, чтобы блок был независим, необходимо, чтобы картинки, принадлежащие блоку, находились в папке с этим блоком
  2. Модификатор _with-bigger-title (и другие подобные) звучит несколько нечетко. На мой взгляд лучше _title-size_big или _title-size_l
  3. У блока button использованы булевые модификаторы, хотя нужны ключ-значение.

Common

  1. Не запускается проект, вот одна из 7 ошибок:
    image

Scss

  1. Глобальные стили не допустимы. Допустимы только для тегов body, html и для переопределения box-sizing для всех тегов

image

PP и недочеты сайта

Привет!) Будут вопросы пиши в тг :)

Курсор при наведении на интерактивные элементы должен становится pointer
image

Клик на пустое пространство переключает кнопку
image

Давай тут и в header при наведении курсора будем убирать непрозрачность текста, чтобы визуально обозначить что элемент интерактивный
image

Тоже cursor pointer
image

Так же давай запретим бронировать номера задним числом.
(Бронировать можно от текущей даты и дальше, выбирать прошедшее число нельзя)
image

Package.json

Перенеси пожалуйста в dependencies всё то без чего твоя prod сборка не соберется или не будет работать после компиляции, а в devDependencies остальное. Это как один из вариантов распределения зависимостей, заодно познакомишься с этим

Pug

Для таких штук удобно использовать объекты по ключам.
image

Пример
image

Readme

Добавь пожалуйста версию node и npm которая используется в проекте. Можешь указать свою текущую на системе

JS

Наши бп (бест практис) основан на airbnb style guid. Для строк следует использовать одинарные кавычки тык. js в pug не является исключением.
image

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.