What's for dinner tonight? What to review first for the upcoming exam? Who's next to do the housework? Many of us are having a hard time making some decisions nowadays. There is no best option, and there is no worst option! Then let "decider" choose randomly for you! Coping with the difficulties of making choices, "decider" can help users make quick decisions to save time. No hesitation, let's obey fate!
The decider is a web app that is mainly for users who have a hard time making choices or users who have many equally important tasks and feels hard to arrange the priority. Users can add their choices or tasks, which will be arranged equally into the table of "Selector", the system will help users to chose items from the table randomly. Users can also use the Random Number Generator to choose the numbers in any interval they want.
What's more, it's multifunctional in any place, at any time -- the "lucky one" is always easily and fairly chosen. During class, it helps the teachers to select students randomly to answer the questions. During parties, it helps to pick people randomly or play truth or dare games.
An Example User:
{
username: "decider",
hash: // a password hash,
}
An Example List with Embedded Items:
{
user: "username:// a reference to a User object"
items: "ramen"
}
/ - the home page
/register - page to register
/login - page to login
/random - page for random number generator
/luckywheel - page to add items to selector
/changepassword - page for changing password
- As non-registered user, I can register a new account with the site.
- As a user, I can log in to the homepage.
- As a user, I can add the new items to Selector table.
- As a user, I can select items randomly from the table in Selector.
- As a user, I can view all of the Selector lists I've created in a single list.
- As a user, I can use the ramdom number generator to generate numbers randomly.
- As a user, I can choose the interval for the random number generator.
- As a user, I can enter the number of numbers I want to generate.
- As a user, I can view the results that generated by the Random Number Generator.
-
(2 points) Use a CSS framework or UI toolkit, use a reasonable customization of the framework
- I used bootstrap as the CSS framework to designe the responsive websites quickly.
- Bootstrap is a feature-packed frontend toolkit. It includes HTML and CSS based design templates for typography, forms, etc., and provides a collection of syntax for template designs.
-
(3 points) Unit testing with JavaScript
-
(5 points) Automated functional testing for all of my routes using Selenium
-
(3 points) Configuration management
- I used dotenv to automatically loads environment variables from a . env file.
-
(3 points) Use built tools / task runners such as vite, Webpack or even make (!) to automate any of the following … must be used in combination with one or more of the other requirements, such as:Use a CSS preprocesser Sass
13-16 points total out of 10 required points.