Assuming a User model, a Post model with title, body and status attributes, and a Tag model:
-
Using minitest and capybara (nothing else), perform integration and model tests for a signup process (email and password). You can use devise or sorcery for signup.
-
Assuming that a Post model may have multiple tags, design a page that shows all the available posts. Before that table, add a filter form that sorts the table rows (example here: https://cl.ly/3W1W0i1e103R). Do it using jquery_js.
-
In the same page add a create post button that uses a modal window. After adding a new Post, show the new record in the table and add a successfuly message in the parent window.
-
Send an email to all users everytime a new post is created.
-
Enforce a default status on model side.