Git Product home page Git Product logo

e-reception's People

Contributors

iegorov avatar

Stargazers

 avatar

Watchers

 avatar

e-reception's Issues

As a User I want to open the Visitors page

Implement /visitors page with basic layout, title & subtitle.

Subtasks:

Design mockup:
https://www.figma.com/file/wiQu66c3xgh3WznbXA9jCU/E-Reception-mockups?type=design&node-id=211%3A5112&mode=design&t=TF2rkxhfKdGBkSQ0-1

Acceptance criteria:

  • User can open Visitors page via /visitors path in browser
  • User can open Visitors page via Visitors link in global header
  • User can see title and subtitle on Visitors page

As a User I want to paginate data in the Visitors table

Introduce a client-side solution to paginate data in the Visitors table

Subtasks:

  • Introduce pagination component under the table on the Visitors page.
  • Display only 10 items per page.
  • Allow user to change pages by clicking buttons.

Design mockups:
https://www.figma.com/file/wiQu66c3xgh3WznbXA9jCU/E-Reception-mockups?type=design&node-id=211%3A5112&mode=design&t=TF2rkxhfKdGBkSQ0-1

Acceptance criteria:

  • User is able to see visitors table data by 10 on a page
  • User is able to navigate to the next page
  • User is able to navigate to the previous page
  • User is able to navigate to the first page
  • User is able to navigate to the last page
  • First page button is disabled when user is on a first page
  • Previous page button is disabled when user is on a first page
  • Last page button is disabled when user is on a last page
  • Next page button is disabled when user is on a last page

Linked issues:

  • is blocked by #7

Introduce a proper README.md structure

What we should have as a README:

  • short description
  • List of notable dependencies:
    • Technology stack: language, frameworks, component libraries
    • Services and tools: what we use to deploy, lint, test etc.
  • How to install everything: npm ci for example.
  • Configuration. Env variables, tools configs etc.
  • Usage: how to run project in a dev mode, how to build it for production
  • Tests: how to run Unit & e2e tests
  • Linting: what we use, notable configuration details, how to run lint for a project or part of it
  • Contributing: code style used, commit messages guideline etc

As a User I want to save a new Visitor in a database

Allow User to save data from new Visitor form to a database.

Subtasks:

  • Introduce POST /api/visitors endpoint to handle the data submission
  • Validate incoming data according to the Visitor model
  • Save new Visitor to the database in /api/visitors handler
  • When Visitor is added successfully show a toast with text New visitor has been added successfully
  • When Visitor is added successfully reload the visitors table

Design mockups:
https://www.figma.com/file/wiQu66c3xgh3WznbXA9jCU/E-Reception-mockups?type=design&node-id=220-2306&mode=design&t=bmw5VOuY1nKigXrB-0

Acceptance criteria:

  • When user fills new Visitor form and clicks Add button, the data is saved in a database
  • When visitor is added successfully a toast with the text New visitor has been added successfully is shown
  • When Visitor is added successfully the visitors table is reloaded and new visitor's data is in the first row

Linked issues:

  • is blocked by #18

As a User i want to attach Visitor's photo

Story description

Subtasks:

  • Subtask 1
  • Subtask 2

Design mockups:
Link to the mockup

Acceptance criteria:

  • Criteria 1
  • Criteria 2

Linked issues:

  • is blocked by [IssueRef]

As a User I want to see the visitors data from the database

Introduce a solution to load data from PostgreSQL database into Visitors table

Subtasks:

Acceptance criteria:

  • User is able to see all visitors' data from the database in the Visitors table

Linked issues:

  • is blocked by #7

Добавить вкладку для настроек уведомлений с формой

Добавить вкладку настроек с формой для управления уведомлениями доступную по url /settings/notifications/

Subtasks:

  • добавить вкладку в UI
  • добавить страницу с URL /settings/notifications/
  • добавить поле включения/выключения уведомлений. По-умолчанию выключено.
  • добавить поле выбора интервала уведомлений. Допустимые значение: 15мин, 30мин, 1час. По-умолчанию: 15мин.
  • блокировать поле выбора интервала, если уведомления выключены

Design mockups:
https://www.figma.com/file/wiQu66c3xgh3WznbXA9jCU/E-Reception-mockups?type=design&node-id=220-11198&mode=design&t=lmp3mOYuOwlhBTfS-0

Acceptance criteria:

  • Можно открыть вкладку через UI
  • Можно открыть вкладку через url /settings/notifications/
  • Пользователь видит форму с полем включения/выключения
  • Пользователь видит форму с полем выбора интервалом уведомления
  • Поле включения/выключения по-умолчанию выключено
  • Если поле включения выключено, то поле выбора интервала заблокировано
  • Поле выбора интервала содержит варианты за 15мин, 30мин, 1час
  • Поле выбора интервала по-умолчанию содержит значение за 15мин.

Linked issues:

  • is blocked by #25

As a User I want to filter visitors by birth date

Introduce a client-side full-text filtering of visitors data by birth date.

Subtasks:

  • adjust global filter for the table to include Birth date column
  • Introduce a filter for the Birth date column based on string representation of a date., i.e. with filter value '09' a date rendered as '01.09.1956' should be found.

Design mockups:
https://www.figma.com/file/wiQu66c3xgh3WznbXA9jCU/E-Reception-mockups?type=design&node-id=223-14468&mode=design&t=gu5Fp6eXfZICLEn7-0

Acceptance criteria:

  • User is able to filter visitors table data by birth date

Linked issues:

  • is blocked by #12

As a User I want to see the new Visitor page with a form

Introduce a new Visitor page with a form and client-side validation

Subtasks:

  • Add a new page /visitors/new
  • Add page header with title and subtitle according to the mockup
  • Introduce Add & Cancel buttons. When User click Cancel button, navigate to /visitors page.
  • Introduce a form with fields: First name, Middle name, Last name, Email, Phone, Address
  • Make these fields required: First name, Last name, Email, Address
  • Add email validation for the field Email
  • Allow only numbers and symbols +-():# in the Phone field
  • Show validation errors when user clicks Add button

Design mockups:
https://www.figma.com/file/wiQu66c3xgh3WznbXA9jCU/E-Reception-mockups?type=design&node-id=220-2306&mode=design&t=bmw5VOuY1nKigXrB-0

Acceptance criteria:

  • User can open Add new Visitor page via /visitors/new path in browser
  • User can open Add new Visitor page via Add visitor button on Visitors page
  • User can see title and subtitle on Add new Visitor page
  • User can see a form with fields: First name, Middle name, Last name, Email, Phone, Address
  • Fields First name, Last name, Email, Address are required
  • Field Email allows only valid email addresses
  • Phone field accepts only numbers and symbols +-():#
  • When User clicks Cancel button /visitors page is opened
  • When User clicks Add button and form has validation errors the corresponding fields are highlighted in red and error messages are visible to the User

As a User I want to delete a single Visitor from the Visitors page

Allow User to delete a single visitor from Visitors table via the actions context menu.

Subtasks:

  • Introduce a context menu to the visitors table as a last column if it is not already present
  • Add Delete item to the context menu
  • Introduce confirmation dialog according to the mockup
  • Show full name of visitor to delete in the confirmation dialog
  • Introduce DELETE /api/visitors/:visitorId route
  • Introduce logic to delete visitor from a database
  • Refresh visitors table after visitor is successfully deleted
  • Show a toast with a text Visitor has been deleted successfully after visitor is successfully deleted

Design mockups:
https://www.figma.com/file/wiQu66c3xgh3WznbXA9jCU/E-Reception-mockups?type=design&node-id=223-12297&mode=design&t=gu5Fp6eXfZICLEn7-0
https://www.figma.com/file/wiQu66c3xgh3WznbXA9jCU/E-Reception-mockups?type=design&node-id=223-13875&mode=design&t=gu5Fp6eXfZICLEn7-0

Acceptance criteria:

  • User is able to open a context menu with item Delete in it
  • When User clicks Delete context menu item, it opens a confirmation dialog
  • When confirmation dialog opens, it contain the full name of selected visitor.
  • When User clicks Cancel in confirmation dialog, it closes and visitor is NOT deleted
  • When User clicks Yes, delete visitor button, confirmation dialog closes and visitor is deleted
  • When visitor is deleted, visitors table data refreshes
  • When visitor is deleted a toast is show with a text Visitor has been deleted successfully

Linked issues:

  • is blocked by #7

As a User I want to view the visitors table

Introduce visitors table on Visitors page.

Subtasks:

Design mockups:
https://www.figma.com/file/wiQu66c3xgh3WznbXA9jCU/E-Reception-mockups?type=design&node-id=211%3A5112&mode=design&t=TF2rkxhfKdGBkSQ0-1
Empty view: https://www.figma.com/file/wiQu66c3xgh3WznbXA9jCU/E-Reception-mockups?type=design&node-id=223%3A14135&mode=design&t=TF2rkxhfKdGBkSQ0-1

Acceptance criteria:

  • User is able to see a table with columns Name, Birth date, Email, Phone, Address
  • When there is no data available text No data. is present.

Linked issues:

  • is blocked by #6

As a User I want to filter visitors by name, phone, email and address

Introduce a client-side full-text filtering of visitors data by First name, Last name, Middle name, phone, email or address fields.

Subtasks:

  • Introduce search input above the table
  • Filter visitors dataset in a table case-insensitive by the data in Full name, Email, Phone & Address columns.
  • Allow user to clear the search input via the Reset X button. Button should be visible only when there is a value in the search field.
  • When there is no data found render text No results.

Design mockups:
https://www.figma.com/file/wiQu66c3xgh3WznbXA9jCU/E-Reception-mockups?type=design&node-id=223-14468&mode=design&t=gu5Fp6eXfZICLEn7-0

Acceptance criteria:

  • User is able to filter visitors table data by First Name case-insensitive
  • User is able to filter visitors table data by Last Name case-insensitive
  • User is able to filter visitors table data by Middle Name case-insensitive
  • User is able to filter visitors table data by Phone
  • User is able to filter visitors table data by Email case-insensitive
  • User is able to filter visitors table data by Address case-insensitive
  • User is able to clear search field
  • Clear search field button is present only when there is a value in the search field
  • When search field has a value and no data has been found, User is able to see No results. text

Linked issues:

  • is blocked by #7

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.