Skip to content

Ansar1337/LearningManager

Repository files navigation

LearningManager

Docs

  1. Backend API;
  2. State managers;

Application

How to run the Frontend

  1. Clone the repo.

  2. Prepare:

    npm install
    
  3. Start in dev mode:

    npm run dev
    
  4. Build:

    npm run build
    

    API reference can be found here. API test dashboard can be found at /api page of the project.

How to run the Backend

This repo also includes a backend part, so it's possible to launch it locally:

  1. Install php8.3, php8.3-memcache extension, and memcached server, following the instructions appropriate for your Linux distribution.
  2. Run the server:
    /usr/bin/php -S domain:PORT -t /full/path/to/backend/directory
    
    For example, to run it at localhost on port 9999;
    Assuming our backend directory is located at /home/user/RuntimeLearningManager/src/backend:
    /usr/bin/php -S localhost:9999 -t /home/user/RuntimeLearningManager/src/backend
    
  3. Check if it works: https://localhost:9999
       I'm ready!
    
  4. To use the local backend server, you have to specify the environment variable VITE_API_SERVER_URL when launching the frontend server in dev mode:
    VITE_API_SERVER_URL=http://localhost:9999 npm run dev
    
    Now, your frontend is linked to your local backend only.

Development checklist:

Pages/UI:

  1. Dialogs
    1. Login
    2. Registration
    3. Feedback form
  2. Header menus/buttons
    1. Login
    2. Notifications
    3. User's menu
    4. Logout
  3. Homepage
  4. Courses' description page
  5. User's cabinet mainpage
    1. "My learning" page
    2. My learning -> Course details page
    3. My learning -> Course details -> Module page
    4. My learning -> Course details -> Module page -> Lections page
    5. My learning -> Course details -> Module page -> Homework page
    6. My learning -> Course details -> Module page -> Test page
    7. Profile settings -> Personal data page
    8. Profile settings -> Credentials page
    9. Profile settings -> Email page
    10. Performance Page

API+StateManagement [DONE]:

  1. Session Management
    1. Check account state
    2. Register account
      1. Login reservation
      2. Register login in system
    3. Log in
    4. Log out
  2. Courses management
    1. Fetch available courses data
      1. Metadata only (name, icon, short description)
      2. Full description
    2. Fetch User's courses
      1. Unread messages
      2. Metadata only
      3. Modules by courseId
        1. Metadata (timings, performance etc)
        2. Materials + status
          1. Article groups
            1. Articles + status
        3. Homework + status
          1. Task
          2. File upload
          3. Status
          4. Comments
        4. Tests + status
          1. Get questions
          2. Track questions
          3. Check Questions
    3. Profile data
      1. Feed data
      2. Update data

About

Learning Manager (pet project)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published