E-LEARNING PLATFORM ''SEEKERS''

Feb 1, 2023

User Story: As a user of the website, I want a homepage that provides easy access to all parts of the website, so I can navigate and find the information I need quickly.

Acceptance Criteria:

  1. Navigating to the Homepage:

    • When I visit the website, I should be directed to the homepage.

    • The homepage should load quickly and display all the sections described below.

  2. Header Section:

    • The header should include a logo representing the website.

    • It should have a categories menu that, when clicked, displays a list of available categories. Clicking on a category should redirect me to the page displaying all classes within that category.

    • The mentors option should redirect me to a page showing a list of all mentor users.

    • A search bar should be provided for searching classes by their title.

    • The language switcher should allow me to change the website language between English and Arabic.

    • The currency switcher should open a list of available currencies, and I should be able to select one to view class prices in the chosen currency.

    • If I'm not logged in, the header should display login and register buttons. Clicking on them should redirect me to the respective login and registration pages.

    • If I'm already logged in, the header should display "My Account" option, which, when clicked, should redirect me to my profile page for customers.

    • The pending purchase icon should redirect me to the pending purchase page.

  3. Banner Area:

    • The banner area should display multiple banners in a slider format.

    • Each banner should include an image, title, text, and a button with a target URL. Clicking on the button should redirect me to the specified URL.

  4. Short About Project:

    • This section should provide a brief overview of the project.

    • It should include an image, text, and a button. Clicking on the button should redirect me to the about us page.

  5. Featured Classes:

    • The featured classes section should display a grid of featured classes.

    • Each class should include an image, title, mentor name, price, category (optional), and an enroll button.

    • Clicking on the enroll button should redirect me to the checkout flow page to purchase the specific class.

  6. Trending Classes:

    • The trending classes section should display a grid of trending classes.

    • Each class should have the same information as mentioned in the featured classes section.

  7. Upcoming Classes:

    • The upcoming classes section should display a grid of upcoming classes.

    • Each class should have the same information as mentioned in the featured classes section.

  8. Become a Mentor Banner Block:

    • This section should provide information about the benefits of becoming a mentor.

    • It should include an image, title, text, and a button. Clicking on the button should redirect me to the become a mentor benefits page.

  9. Footer Section:

    • The footer should include the website logo.

    • It should provide links to the about us page, become a mentor benefits page, privacy policy page, terms of use page, and payment terms page.

    • Contact information such as email address, phone number, Instagram, and Facebook should be displayed.



Class and episode detail:

As a customer, I want to access detailed information about a class on the class detail page. I also want to be able to view the list of episodes for the class and navigate to the episode detail page to watch the video and access relevant information.

Acceptance Criteria:

Class Detail Page:

  1. When I visit the class detail page, I should see the following information:

    • Class banner image, which represents the class visually.

    • Class title, providing a clear and concise name for the class.

    • Description of the class, giving an overview of the class content and objectives.

    • Date of class publish, indicating when the class was made available to customers.

    • Mentor's name, identifying the instructor or mentor associated with the class.

    • Teaser video, allowing me to preview a short video highlighting the class content.

    • Downloadable PDF list, providing supplementary materials or resources related to the class.

    • Class category, categorizing the class within a specific topic or subject area.

    • Class duration, displaying the total duration of the class.

    • "Buy Now" button, enabling me to purchase the class if I'm interested.

    • "Share" button, allowing me to share the class details on social media platforms.

Class Episode List: 2. Below the class details, there should be a list of episodes associated with the class.

  • Each episode should have a title, clearly indicating the topic or content covered.

  • The episodes should be displayed in their respective order.

  • Each episode should show its duration, indicating the length of the video.

Episode Detail Page: 3. When I click on an episode title from the class detail page, it should open the episode detail page.

  • The page should display a video player, allowing me to watch the episode video.

  • The video player should show the duration of the video and a timer indicating my current position (e.g., "3:59/17:23").

  • There should be a minimize/maximize button for the video player, enabling me to adjust the video size.

  • The episode title should be prominently displayed on the page.

  • The episode description should provide additional information about the content covered in the episode.

  • The episode order should be indicated to maintain context and sequence.

  • A "Next" button should be available, allowing me to navigate to the next episode in the series.

Next to Episode Video - Episode List: 4. Next to the episode video player, there should be a list of episodes for easy navigation.

  • Each episode should display its title.

  • The episode order should be clearly indicated.

  • The duration of each episode should be visible.

Mentor user profile:

As a customer user, I want to be able to view the profile of a mentor user and access their data, including the classes they have created, so that I can learn more about the mentor and enroll in their classes.

Acceptance Criteria:

  1. On the customer user interface, there should be a feature to view the mentor user profile.

  2. When I access the mentor user profile, I should be able to see the following personal information of the mentor user:

    • Mentor user's avatar displayed as an image.

    • Mentor user's first name and last name.

    • A video presentation of the mentor user.

    • The option to "Click to view the biography" of the mentor user.

    • The total count of all classes created by the mentor user.

  3. When I click on "Click to view the biography," I should be able to see the biography of the mentor user, providing additional details about their background, experience, and expertise.

  4. Under the personal information section, there should be a section displaying all the classes created by the mentor user.

    • The class grid should show the class image as a visual representation of the class.

    • Each class should have a title indicating the name of the class.

    • The name of the mentor associated with the class should be mentioned.

    • The price of the class should be displayed.

    • An "Enroll" button should be available for each class, allowing me to enroll in the class directly.



Checkout Flow:

As a customer user, I want to be redirected to a page after clicking the "Buy Now" button on the class page. On this page, I should see the class information for the class I am trying to purchase, and I want to provide my billing information and choose a payment method. After completing the payment process, I expect to see either a success page or a reject page based on the payment outcome.

Acceptance Criteria:

  1. After clicking the "Buy Now" button on the class page, I am redirected to the payment page.

  2. On the payment page, I can see the following class information for the class I am purchasing:

    • Class image representing the class visually.

    • Class name indicating the name of the class.

    • Class mentor displaying the name of the mentor associated with the class.

    • Class price showing the cost of the class.

  3. Under the class information, there are input fields for billing information, where I can provide the following details:

    • First name.

    • Last name.

    • Country, which is a select box containing all available countries.

    • Region (optional), which is a select box displaying regions based on the selected country if applicable.

    • City, which is a select box containing cities based on the selected country.

    • Billing address.

    • Zip code.

  4. There is a section where I can choose the payment method from the available options, such as Myfatoorah, Apple Pay, or Visa/MasterCard.

  5. After providing my billing information and selecting a payment method, there is an "Order" button that redirects me to the payment processing page.

  6. After completing the payment process, I am directed to either a success page or a reject page based on the payment outcome.

Success Page: 7. On the success page, I see a message displaying "Congratulations! Your payment was successful."

  1. There is a "Go to Classes" button that allows me to navigate back to the classes page or my enrolled classes.

Reject Page: 9. On the reject page, I see a message indicating "Your payment has been failed."

  1. There is a "Go to Classes" button that enables me to return to the classes page or my enrolled classes.



All classes:

As a customer user, I want to have an "All Classes" page where I can view all available classes and have the ability to filter them. I expect to see a grid layout displaying relevant class information, and I want the option to enroll in a class, which will redirect me to the checkout page.

Acceptance Criteria:

  1. On the user interface, there is a dedicated "All Classes" page accessible to customer users.

  2. The "All Classes" page displays all classes available in the system.

  3. The classes are presented in a grid layout, and each class tile includes the following information:

    • Class image representing the visual identity of the class.

    • Class title indicating the name of the class.

    • Class mentor displaying the name of the mentor associated with the class.

    • Class price showing the cost of the class.

    • An "Enroll" button that allows me to proceed to the checkout page for enrolling in the class.

  4. The "All Classes" page implements pagination to handle a large number of classes and ensures a smooth browsing experience.

  5. The pagination feature displays a limited number of classes per page and provides navigation options to browse through different pages.

Filtering Options: 6. On the "All Classes" page, customer users have access to filtering options to refine their class search.

  1. The available filtering options include:

    • Category filter to narrow down classes by a specific category.

    • Subcategory filter based on the selected category, allowing further refinement.

    • Mentor filter to filter classes based on the mentor's name or expertise.

    • Price range filter to specify a desired price range for the classes.

    • High rated filter to display classes with the highest ratings or most purchases.




Poll:

As a user, I want to be able to manage polls in the platform, including creating, editing, and deleting them, so that I can customize and control the available polls effectively.

Scenario 1: Viewing Poll List Given that I have the necessary permissions (Permission to Poll section has only Super Admin and Marketing Admin ), when I navigate to Poll section, Then I should see a table displaying the list of polls with the following columns:

  • Poll's name

  • Poll's type (Single or Multiple)

  • Vote's count (how many votes the poll already has)

  • Expiration date of the poll

  • And Status of the poll, poll can be active or inactive

  • Actions (delete and edit, view)

Scenario 2: Filtering Polls Given that I am viewing the poll list, When I want to filter the list by the poll name, Then there should be a filtering option available where I.

  • Enter Poll title and apply filter

  • Select poll type and apply filter

  • Select date range for expiration date and apply filter

  • Select proper status and apply filter

Scenario 3: Sorting Polls Given that I am viewing the poll list, When I want to sort the list in ascending or descending order based on the poll name, Then there should be a sorting option available to perform the desired sorting.

Scenario 4: Creating a Poll Given that I am on the poll management page, When I click on the "Create" button, Then I should be redirected to the poll creating page where I can create a poll by providing.

  • Poll title (required field, should be unique)

  • Poll type (required field, Single or multiple). Single polls - When the already created poll, tenant user wants to vote, if the poll type is single then from the answers list user will be able to select only one of them, Multiple polls - Tenant user can select few or all of them.

  • Poll Privacy type (required field, Closed, open or Anonymous). Open Privacy type - Tenant user after voting and Admin users can see poll results in both percentages and who voted for the poll and which answer they selected. Closed Privacy type - Admin users can see poll results in both percentages and who voted for the poll, but tenant users can't access poll results. Anonymous privacy type - Both admin users and tenant users can see poll results in only percentages

  • Tenant types (required field, select box) - user will be able to select tenant types and for all tenant managers who's assigned tenants has selected tenant type will receive the poll and will be able to vote for it

  • Tenant Categories (Select box) - Admin's can narrow the scope and also select tenant categories based on selected tenant types, and from now poll will receive only that tenant managers who's assigned tenants has not only selected tenant type but also selected tenant category

  • Tenants (Select box) - Admin's can more narrow the scope and create polls for specific tenants based on their selected type and category from the type and poll will receive only managers assigned to their selected tenants

  • Expiration date (required, Date picker) - Admin's can put end date for the poll and after that date poll will become inactive and no tenant user will be able to vote for it and even see it, it will be available only for admin users to see poll results. Admin user's can't put expiration date in the past.

  • Status (required, Active or Inactive) - Active poll's will be available for tenant user's and they will be able to vote for it if they didn't, but inactive polls will not be available for them

  • Answers list - required, there is by default 2 boxes for answers list and admin's can give answer options for tenant users, but there is also repeater (add answer) so poll will be able to have more than 2 options

  • Description - required, text area field where admin will be able to write question or offer of the poll.

Scenario 5: Editing a Banner Zone Type Given that I am on the poll management page, When I click on the "Edit" action for a poll, Then I should be redirected to the banner zone type editing page where I can modify the current poll by being able to change all available editable fields of the poll. Poll can be edited if there is no votes on the poll or expiration date is not in the past.

  • Same fields and restrictions as in Poll Creating page

Scenario 6: Deleting a poll Given that I am on the poll management page, When I click on the "Delete" action for a specific banner zone type, Then poll should be deleted. There is a hard delete for the poll and after deleting the poll, poll should be disappeared from the list.

Scenario 7: Viewing a poll Given that I am on the poll management page, When I click on "View" action for a specific poll or on any poll's title then I should be redirected to poll viewing page where I will be able to see poll Information. on this page I should see.

  • Poll title

  • Poll type

  • Poll Privacy type

  • Selected tenant types

  • Selected tenant categories

  • Selected tenants

  • Status

  • Expiration date

  • Description of the poll

When tenant manager is trying to view poll, tenant categories and tenants are not visible

Scenario 8: Viewing poll votes and Voting of the poll Given I am on poll viewing page of both tenant manager and admin's side. When I click on answer's list link in viewing page should be opened new tab.

For tenant managers - If tenant manager didn't vote for the poll should be opened poll voting page, where he/she select option/s and submit vote, after submitting vote he/she should be able to see poll results based on poll privacy type and if privacy type is closed tab should be closed and link should be deactivated.

For Admin user's - Admin user after clicking on answer list link, should be opened poll results tab based on privacy type

By implementing the banner zone type management functionality, users will have the ability to create, edit, and delete banner zone types as per their requirements, ensuring efficient customization and control over the banner zones in the platform.




Suggestion section

As a tenant manager,

I want to create a new chat within our CRM platform,

So that I can communicate with admin users and exchange messages.

Acceptance Criteria:

  1. There should be an option for tenant managers to create a new chat.

  2. When creating a new chat, the tenant manager should be able to specify a chat name.

  3. The tenant manager's name and the timestamp should be recorded as the chat creator and creation time, respectively.

  4. On the left side of the CRM platform, a list of created chats should be displayed, showing the chat name, chat creator's name, and creation time.

  5. Clicking on a chat from the list should open the chat and display all the messages in chronological order.

  6. Each message should indicate the sender's name.

  7. Admin users should be able to respond to messages sent by tenant managers within the chat.

  8. The chat interface should provide a text input field for typing and sending messages.

  9. Messages sent and received within the chat should be displayed in real-time, without the need to refresh the page.

  10. The chat should have a clear indication of which messages are sent by tenant managers and which messages are sent by admin users.

  11. The chat interface should allow scrolling to view older messages if the chat becomes lengthy.

  12. The chat interface should provide a way to go back to the list of chats.

Tenant user section


As a user, I want to be able to create a new account for another person on an admin panel so that person can access its features and services.

Acceptance Criteria:

  1. Functionality:

  • The user creation page should have all the required fields, including

    • first name (required)

    • last name (required)

    • phone number (required)

    • email address (required)

    • tenants

    • password (required)

    • role (required)

  • Roles - Tenant manager, Tenant cashier

  • tenants field should display all available tenant lists in our platform, so admin will be able to select one, and also should give opportunity to search for a tenant. can be added multiple tenants

  • The page should have clear instructions for filling out the form, including any password requirements (e.g., minimum length, required characters).

    • password requirements - min 8 letters, 1 lowercase, 1 uppercase, 1 number

    • phone number - max and min length 8 characters, only numbers

    • email address - contains @ and .

  • The page should validate user input and display appropriate error messages if the user enters invalid or incomplete data.

  • The page should check that the username(email) are unique and not already in use by another user.

  • The page should have a "submit" button that is only enabled when all required fields are filled out correctly.

  • After submitting the form, the user should receive a confirmation message indicating that their account has been created.

  • The user should be able to cancel or undo any changes made before submitting them.

  • The user should be automatically receive email notification already containing password created by admin user for him

As a user, I want to be able to create a new account for another person on an admin panel so that person can access its features and services.

Acceptance Criteria:

  1. Functionality:

  • The user should be able to edit all relevant fields associated with specific account or profile, such as:

    • first name (required)

    • last name (required)

    • phone number (required)

    • email address (required)

    • Date of birth (required)

    • tenants

    • role (required)

    • status (required)

  • in tenants field system should display all our available active tenant list, so user will be able to select between them, also should be searching availability in this field, so user will be able to search between our tenants list.

  • Statuses - Active, Inactive

  • the system makes sure that Inactive user will no longer be able to login to the platform, until their status will be made to active

  • Roles - Tenant manager, tenant cashier

  • The page should have clear requirements for filling out the form.

    • phone number - max and min length 8 characters, only numbers

    • email address - contains @ and .

    • DOB - min 13 year old (which means current year - 13 year)

  • The page should validate user input and display appropriate error messages if the user enters invalid or incomplete data.

  • This feature will allow admin user to reset user's password, "reset password" button will be located on the top of the user information, system should send email notification to the user with an automatically generated new password. on reset password, user's password should automatically be changed to the new generated password in our databases and user will access the platform with the new password.

  • The page should check that the username (email) are unique and not already in use by another user.

  • Any changes made by the user should be reflected immediately and accurately across the system, including any related data or records.

  • The page should have a "save" button that is only enabled when all required fields are filled out correctly.

  • The user should be able to cancel or undo any changes made before submitting them.

  • After submitting the form, the user should receive a confirmation message indicating that their account has been created.

As a user, I want to be able to view an admin account data information on an admin panel, and also be able to access editing page from this page

Acceptance Criteria:

  1. Functionality:

  • The feature should be accessible only to admin users who are logged in to the system.

  • The feature should provide a separate page for viewing user data, with a clear and intuitive user interface.

  • The page should display all relevant user data, such as

    • first name

    • last name

    • phone number 

    • email address 

    • Date of birth

    • role.

  • The user must be able to access the editing page easily from the view page, with clear and visible navigation element - "edit button" located in this page

  • automatically generated data from our database should be located in this page such as.

    • Last login date of a user - 01/01/0001 00:00

    • Date of creation of the user - 01/01/0001 00:00

As a user, I want to be able to view admin users list on an admin panel, and also be able to sort and filter them based on specific criteria.

Acceptance Criteria:

  1. Functionality:

  • The feature should be accessible only to admin users who are logged in to the system.

  • The feature must display a list of all available users in the system within a table with the following columns including

    • first name

    • last name 

    • email address

    • role

    • Status

  • The feature must allow the user to access the editing page for users, where they can change and save user information, "edit" button is located at the end of the table under the actions column

  • The feature must allow the user to access the viewing page for users, where they can view user information, "edit" button is located at the end of the table under the actions column

  • The feature must allow the user to delete user, "delete" button is located at the end of the table under the actions column. after deleting user should be disappeared from the list, and we won't save any information of the deleted user

  • The feature must allow the user to access the creation page for new users, where they can enter and save user information, "add user" button is located on the top of the table

  • The user must be able to sort the user list based on specific criteria, such as

    • first name in ascending or descending order.

    • last name in ascending or descending order.

    • email in ascending or descending order.

    • status in ascending or descending order.

  • The user must be able to filter the user list based on specific criteria, such 

    • role

    • status

  • The user must be able to search for specific users in the list using keywords, such 

    • name

    • email

  • The user must be able to create the new user information and see the updated user list with the new user added on the top of the table

About

Contact

Signup