lab-antwerp-1 / alina-word-list Goto Github PK
View Code? Open in Web Editor NEWWord list maker app. Individual deliverables of "Separation of Concerns".
Home Page: https://lab-antwerp-1.github.io/alina-word-list/
License: MIT License
Word list maker app. Individual deliverables of "Separation of Concerns".
Home Page: https://lab-antwerp-1.github.io/alina-word-list/
License: MIT License
a user can remove a word from the list.
the list will be re-rendered.
none. I can reuse the component from add a word to render word list.
this will be developed on the branch 3-feature-remove
.
a user can sort words with 6 options.
select 'oldest' then will sort words from oldest to newest.
select 'newest' then will sort words from newest to oldest.
select 'shortest' then will sort words from shortest to longest.
select 'longest' then will sort words from longest to shortest.
select 'a' then will sort alphabetical order.
select 'z' then will reverse alphabetical order.
select
element with the name attribute "sort" to create a drop-down list.option
tags inside the select
element define the available options in the drop-down list.select
, I'll try a "click" event firstnone. I can reuse the component from add a word to render word list.
this will be developed on the branch 4-feature-sort
.
a user can move words between
new list
andremembered list
div
element with the id remembered-list
as container.remembered
button aside new words listoverlooked
button aside remembered words listcheckbox
, I'll try a "click" event firstnone. I can reuse the component from add a word to render word list.
this will be developed on the branch plus-1-feature-move
.
- colorful button: As a user I want colorful button so that I can easily identify add or remove button by color.
"As a user I want to get warnings so that I know I did something wrong."
- Give '123' and click add button then will get the warning: "123" is not a word.
- If 'abc' has not added yet. Give 'abc' and click remove button then will get the warning: "abc" is not in the list.
type: logic
: Write a function isWord(text = '')
in /logic to check if the user input is a word. export
function.
type: handlers
:
Write a function inputWord(event)
in/handlers. It's an entry point for adding or removing a word. It is called each time the user clicks the "add word" or the "remove word" button. It gathers user input from DOM and then render new words by calling function sortStrings(data.words, data.sort)
and renderList(sorted)
to a div
with the id listContainer
.
Add a guard to check if user input is a word by calling function isWord(text = '')
, if it isn't, post a warning "${userInput}" is not a word
.
Add a guard to check text, use data.words.includes(text)
, if not, post a warning "${text}" is not in the list
export
function.
type:html
: a code
tag with the id warnings
, then assign the warning message to it's innerText
.Given the input contains non-letters, it will not be added a warning is displayed.
Given the input is not in the list a warning is posted.
a user can edit a word from the list.
none.
this will be developed on the branch 5-feature-edit
.
dev
branchdev
branch one by one
1-feature-intro
2-feature-add
3-feature-remove
4-feature-sort
7-feature-enter-key
plus-1-feature-move
5-feature-edit
This is an individual project to practice working on a full HTML/CSS/JS website.
This app helps user remembering words. You can add word, remove word, edit word, sort word... Check the words from New Words
list and click remembered
button, you can move the words to remembered list. check the words from Remembered Words
list and click overlooked
button, you will move the words back to new words list.
As a user/developer I can read a readme of the project and follow the development process.
there is a readme file
there is a constraints document
there is a backlog file
there is a development strategy
there is a retrospective
this will be developed on the branch planning
.
As a user/developer I can follow the design process.
there is a mobile wireframe file
there is a desktop wireframe file
there is a figma document link
this will be developed on the branch design
.
a user can read instruction of this word list app.
styling to position the instruction section correctly and readably on the screen.
this will be developed on the branch 1-feature-intro
.
a user can add a new item to the list.
a user can see the added word list.
new-list
to display the word lista component to render word list.
this will be developed on the branch 2-feature-add
.
a user can remove a word from the list.
the list will be re-rendered.
none. I can reuse the component from add a word to render word list.
this will be developed on the branch 3-feature-remove
.
a user can sort words with 6 options.
select 'oldest' then will sort words from oldest to newest.
select 'newest' then will sort words from newest to oldest.
select 'shortest' then will sort words from shortest to longest.
select 'longest' then will sort words from longest to shortest.
select 'a' then will sort alphabetical order.
select 'z' then will reverse alphabetical order.
select
element with the name attribute "sort" to create a drop-down list.option
tags inside the select
element define the available options in the drop-down list.select
, I'll try a "click" event firstnone. I can reuse the component from add a word to render word list.
this will be developed on the branch 4-feature-sort
.
these will complete the user experience, but are not necessary
a user can move words between
new list
andremembered list
div
element with the id remembered-list
as container.remembered
button aside new words listoverlooked
button aside remembered words listcheckbox
, I'll try a "click" event firstnone. I can reuse the component from add a word to render word list.
this will be developed on the branch plus-1-feature-move
.
a user can edit a word from the list.
none.
this will be developed on the branch 5-feature-edit
.
a user can easily identify add or remove button by color.
set the 'add' button to green.
set the 'remove all' button to red.
none.
this will be developed on the branch 6-feature-button-color
.
a user can add a word by press Enter key.
input
, I'll try a keydown
event first.none. I can reuse the component from add a word to render word list.
this will be developed on the branch 7-feature-enter-key
.
a user can change word list font with option.
select
element with the name attribute "font" and id "font" to create a drop-down list.option
tags inside the select
element define the available options in the drop-down list.select
with id "font", I'll try a "click" event firstnone.
this will be developed on the branch 8-feature-change-font
.
would be really cool ... if there's
a user can share the word list on facebook, email.
a user can export word list to a file.
"As a user I want a input field and a add button so that I can input and add a word to the list."
- Given the input contains only letters it will be added to the words list, and the list will be re-rendered.
type: listeners
: Add listener addEventListener('click', inputWord)
to form
element with the id input-form
in /listeners.
type: handlers
: Write a function inputWord(event)
in/handlers. It's an entry point for adding or removing a word. It is called each time the user clicks the "add word" or the "remove word" button. It gathers user input from DOM and then render new words by calling function sortStrings(data.words, data.sort)
and renderList(sorted)
to a div
with the id listContainer
. export
function.
type: logic
: Write a function sortStrings(toSort = [], sortType = 'oldest')
in /logic. It will sort words depend on sort type option. export
function.
type: logic
: Write a function isWord(text = '')
in /logic to check if the user input is a word. export
function.
type: components
: Write a function renderList(toRender = [])
in render-list.js. Convert each word element from an array to text in each li
tag , and an ul
tag wrap around all the li
. export
function.
type html
: A form
tag with the id input-form
.
type html
: A input
tag with name="text" placeholder="new word"
as a form element.
type html
: A input
tag with type="button" value="add"
as a form element.
a user can add a word by press Enter key.
input
, I'll try a keydown
event first.none. I can reuse the component from add a word to render word list.
this will be developed on the branch 7-feature-enter-key
.
"As a user I want a word list so that I can see the words I've added."
- There is a list to show every word the user has added. By default the word list is blank.
type: components
: Write a function renderList(toRender = [])
in /components. Convert each word element from an array to text in each li
tag , and an ul
tag wrap around all the li
. export
function.type html
: A div
with the id list-container
to store rendered word list."As a user I want a input field and a add button so that I can input and add a word to the list."
- Given the input contains only letters it will be added to the words list, and the list will be re-rendered.
As a user/developer I can read a readme of the project and follow the development process.
there is a readme file
there is a constraints document
there is a backlog file
there is a development strategy
there is a retrospective
this will be developed on the branch planning
.
As a user/developer I can follow the design process.
there is a mobile wireframe file
there is a desktop wireframe file
there is a figma document link
this will be developed on the branch design
.
- hint music: As a user I want to get hint music so that I know I added a word successfully or removed a word.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.