This project was developed in Dart using Flutter SDK.
Project purpose: It is to help users who want to improve their English by offering daily word suggestions.
-
User Log In - Log Out:
"Firebase Authentication" is used in user registration and login functions.
In order to log in, the membership must be approved by the e-mail sent to the user. After login and registration "verify_screen" checks the confirmation status.
User actions are controlled by a stream with the "main" method.
A password reset e-mail is sent to the user's e-mail address with the "Forgot password" link. -
User Register:
User registration can be done with the "Register" button on the "Login" screen.
There are "Required" fields in the form on this screen. This requirement is checked with the "Sign Up" button and a warning is given.
After registration, a field is created in the database for user information. -
Profile Editing:
If the user is logged in, there is a page where he can edit his own information. Here the user will be able to edit the information that can be changed.
Word Suggestion:
On the word suggestion page, 10 words are suggested to the user. These words and their meanings are taken from "dictionaryapi.dev" in json data type.
With each word, the user will be presented with "I learned" and "Remind me later" options.
If the user says "I learned", the word ID will be kept in the 'Users' table and the same word will not be suggested again.
- Learned Words:
The user can mark the learned words as "Unlearned" on the Word List (word_screen) page.
-- 2 sidebars are used in this project. "classic" and "hidden" under the drawer folder. "classic", the classic drawer included with flutter. "hidden" is taken from pub.dev.
-- The word suggestion function starts from the "suggestion_main_screen.dart" file under the "screens_home" folder and continues with the files under the "suggestion" folder.
-- The classes and files that make up the other functions are specified in the folder names under the "lib" folder.