# Functional Requirements

{% hint style="info" %}
The Roots platform will have a registration and login page, a user profile page, a learning screen, a profile and settings page, and an online community page. These features will allow users to easily create an account, track their progress, and communicate with others to enhance their language skills.
{% endhint %}

## Functional Requirements:

1. **User Authentication:**
   * The platform will have a registration page and a login page for new users.
   * Users will be required to provide their name, email, gender, and age to create an account.
   * Users will also need to create a password to secure their account.
   * The platform will allow users to log in using their email and password or social media accounts.
2. **User Profile Management:**
   * Users will be required to fill out their profile with personal information including a photo and daily learning target.
   * The personal user profile page will display all data regarding the user and allow them to check their progress in language training.
   * Users will be able to edit their profile and modify their data and settings.
3. **Learning Screen:**
   * The platform will provide a dashboard for users to follow their achievements and track their progress level.
   * Visual and audio tools will be incorporated into the learning process to enhance the user experience.
   * Lessons will be designed to make the learning process fun and engaging, such as translating an audio phrase or choosing the word that describes an image.
4. **Profile and Settings:**
   * The Profile & Settings page will be a personal user profile page that contains all data regarding the user.
   * Users will be able to check their progress in language training through this page.
   * Users will have the ability to edit their profiles and modify their data and settings.
   * Settings that can be modified include learning goals and notification preferences.
5. **Online Community:**
   * The platform will provide an online community page where users can communicate openly, similar to a forum.
   * Users can discuss exchange options and lesson topics on different matters to enhance their language learning skills.
