Skip to content

NDigger/web_crud_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EVERYTHING HERE IS CREATED FROM A TASK

#BASIC LEVEL: You must create an html page with a table, the table consist of two columns: ID and Description (it does not have to represent any real model entity, it's just data). Each row must have an integer ID, a string description, update that row and delete that row buttons. The table also should have create button to add a new row. Any changes in rows must be persisted in the database. Create button after click must redirect to another page with a form to fill the description of the new row and with a clickable button to add the row to the database (ID should be just an autoincrement column in the database itself, so you don't fill it by yourself). An update page is similar to the create page, but when you open it, it shows the previous row description value from a row you clicked the button on and it allows to update the value (I mean change the description value of the existing row, not create another new row).

#A BIT MORE ADVANCED LEVEL: Each column must have filtering and sorting functionality: ID filters by strict integer value, description filters by any substring that resulting rows must contain (not precise value 1:1, just have that substring in their description value). ID sorting just numeric 1->2->3->4 if clicked on the sorting button first time, second time 4->3->2->1, no sorting if clicked third time. Description sorting is alphabetic with the same order direction logic.

#A BIT BIT MORE ADVANCED AND SPICY LEVEL: The table must have a pagination functionality: the table is divided into pages with 15 items on each page, you can click on the page buttons to switch the page to the next or previous bunch of rows. Displaying of pages for pagination must work correctly with filtering, sorting and deleting functionality: filtering and sorting must happen on the entire table, not only on the current page; user must not be on an empty page if the last row on the page is deleted or filtered while the page is not the first one (user must be redirected to the first page if on the current page there are zero rows).

#EXTRA TASKS:

  1. add a third type column that might have either A or B or C string value. It must have filtering and alphabetical sorting functionality as well, the only difference is that the filter allows to select (not write manually) several values from a dropdown menu so that, for instance, rows with A or B values will be shown if the user selects A and B filter values (hmmm, yeah, implement the dropdown menu for that by yourself too).
  2. add rows counter on the page so that it will show current rows / total rows (for instance, with 47 rows in the database and 15 rows per page the second page will show 16-30 / 47 counter).
  3. (probably annoying) replace separate create and update pages with modal windows with those forms (modal window is kind of an html block element with text or/and buttons that covers your current page until you close it).

#EXTRA FISH TASK: make the page look cool and fancy as you often do your designs

NUANCES

EXTRA TASK 3 is not completed, I don't see a point in dropping existing pages and replacing them with built in alarm which might be more annoying to use for me and people

Filters override each other

You can get on page without tabs if you filter them. It's because of not good approach I used while making filters.

About

Made to fullfill the given task.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published