Welcome to Word-A-Day--we're here to help you learn a new word every day! Whether you're an English language learner, studying for a standardized test, or just looking to expand your vocabulary, we've got something for you. You can use this application to:
- Create your own account
- Get random words with short definitions
- Save generated words that you like to your account
- Add specific words you want to learn and automatically get definitions
- View and edit your list of saved words
- Create custom notes to help you study
- Review words using flaschards
- Receive feedback after practicing and review the words you missed
- Control account settings including updating your password or deleting your account
By adding just one word each day and studying regularly, you'll have a copious collection of highfalutin terms in your back pocket in no time!
To use the application locally, clone the repository and set your IDE to compile the application using Java Development Kit (JDK) 11. You may need to have Gradle installed if you are not compiling the application from IntelliJ IDEA or Spring Tool Suite. You will need to set up your own application.properties file in the resources directory with the database settings you wish to use.
This project was developed in Spring Boot using a Model-View-Controller framework with REST APIs. It is primarily built in Java along with JavaScript, HTML, and CSS, with ThymeLeaf handling templating. The build utilizes Gradle. Random words are generated by a random word API and the application then queries the Merriam-Webster Dictionary API for definitions. MySQL with Hibernate is used for persistence.
Special thanks to the following APIs that help make this application run:
- Wordnik Random Word API (http://wordnik.com/)
- Merriam-Webster Dictionary API (https://dictionaryapi.com/)