BrillianDOCS Documentation

website·Indexed 31 days ago

https://docs.brillianideas.com/

The official IT documentation platform for the IMBIT degree at DHBW-Mannheim. It contains technical specifications, development setup guides, and AWS infrastructure configurations for various projects including BrillianIDEAS, BrillianCRM, BrillianQUIZ, BrillianICM, and imbit-n3xt.

Tokens
15.3K
Snippets
38
Records
122
Agent score
50%

What's inside BrillianDOCS

  1. Overview of IMBIT student-developed applications

    BrillianDOCS serves as the official IT Documentation platform for the IMBIT degree at DHBW-Mannheim. The following student-developed applications are part of their IT environment:

    • BrillianIDEAS: Information about the degree program.
    • BrillianQUIZ: Knowledge testing and improvement via quizzes.
    • BrillianCRM: Tool for learning customer relationship management.
    • BrillianICM: Interactive game for managing international teams.
    • BrillianDOCS: Official IT Documentation platform for IMBIT applications.
    • IMBIT-N3XT: Webpage for potential students.
    • IMBIT-PIXELS: Pixel-art minigame (GitHub Pages hosted).
    • Wordpress Page: Legacy information hub.
    • Metaverse Project: Virtual showcase of the degree in the metaverse.
  2. Overview of IMBIT-VPC networking setup

    AWS networking for these applications is managed within the VPC Dashboard. A dedicated VPC named IMBIT-VPC has been implemented, utilizing a /24 subnet for each individual application to ensure network isolation.
  3. BrillianIDEAS Project Overview and Tech Stack

    BrillianIDEAS is a resource platform for the IMBIT course program. It is built using a classic HTML/CSS/JavaScript stack hosted on Apache.

    Technical Specifications:

    • Web Server: Apache 2.4.59
    • Frontend Libraries: jQuery 3.3.1, jQuery Easy UI 1.5.1, jQuery Mobile 1.4.5.
    • Infrastructure: Hosted on AWS using ARM64 CPU platform.
    • Key Features: Responsive design, accordion menus, modal windows, and keyboard/swipe navigation.
  4. BrillianCRM JSP View Layer Reference

    The BrillianCRM application organizes its view layer into frontend and root-level JSPs.

    Frontend Folder JSPs (Game Interfaces):

    • about.jsp: Project information and team details.
    • imprint.jsp: Legal imprint, contact, and copyright information.
    • laptop.jsp: In-game laptop interface (email client with tabs/inbox).
    • location.jsp: Location-based interactions, dialogues, and events.
    • mail.jsp: Email reading interface (sender, recipient, subject, date, content, attachments).
    • maildraft.jsp: Email drafting interface with response options.
    • main.jsp: Central game interface with navigation and TCQ (Time, Cost, Quality) indicators.
    • result.jsp: End-of-game page showing final TCQ scores.

    WebApp Root Folder JSPs (System/Admin):

    • contentquery.jsp: Developer tool to browse game content by node ID.
    • index.jsp: Development console with links to content explorer, file upload/viewer, and API docs.
    • login.jsp: User login page with links to registration and password reset.
    • resetpw.jsp: Password reset request page.
    • uploadfile.jsp: Interface for uploading XML files to the backend.
    • viewfile.jsp: Interface to view uploaded XML game tree files.
  5. Manage User Roles and Access Control

    BrillianCRM uses the Apache Shiro security framework to manage access control based on three roles:

    1. Student: Primary game users. Can play the game, make decisions affecting TCQ scores, view progress, and change their own passwords.
    2. Professor: Can create/manage student groups, send registration links, track student progress, delete groups/students, and set game progress.
    3. Admin: Highest access level. Possesses all Professor capabilities plus the ability to create professor accounts, view all professors, manage global settings (audio, video), and reset passwords for any user.
  6. BrillianCRM Technical Stack Overview

    BrillianCRM is a web-based CRM learning game developed for DHBW-Mannheim. It is hosted on AWS (x86 platform) and utilizes the following technology stack:

    • Server: Tomcat 9
    • Runtime: JRE 21
    • Build Tool: Maven 3
    • Security: Shiro Web 1.13.0
    • Database: MariaDB 11.5.0
  7. BrillianQUIZ Frontend Directory Structure

    The frontend is organized into the following key directories:

    • frontend/src/components/: Contains Vue components with <template>, <script setup>, and scoped <style>.
    • frontend/src/stores/: Pinia stores for state management.
    • frontend/src/views/: Vue components representing full application pages.
    • CSS is split between global styles (global.css, variables.css) and admin-specific styles (admin/ folder), with fonts located in the fonts/ directory.
  8. Understand the imbit-n3xt project structure

    The project is modularly structured within the src folder:

    • index.js: Configures routing, internationalization (IntlProvider), and global UI components (Navbar, Footer, FaviconSwitcher, ChatbotScript). It also contains the global Helmet component for assets required on every page.
    • pages/: Contains all website pages. Each page should include a <title>. Components outside the initial viewport should be lazy-loaded using <Suspense>.
    • components/: Contains page-specific and reusable (general) components.
      • styling/: CSS files named identically to their components.
      • data/: Component data files.
      • media/: Categorized media assets.
    • .ebextensions: Nginx configuration for AWS Elastic Beanstalk.
    • .github: GitHub Actions deployment workflows.
    • .vscode: Recommended extensions and workspace settings for consistent formatting.
    // Example of lazy-loading components in pages
    const Metaverse = lazy(() => import('./Metaverse.js'));
    
    const PageName = () => {
      return (
        <div>
          <Suspense>
            <Metaverse />
          </Suspense>
        </div>
      );
    };
  9. Transpile JSX and modern JS with Babel

    Babel is used in the imbit-n3xt project to transpile ES2020 JavaScript and React JSX into a version compatible with older browsers, ensuring broad browser support.
  10. BrillianQUIZ Technical Stack Overview

    BrillianQUIZ is an interactive web-based quiz platform. Its architecture consists of a Node.js backend and a Vue.js frontend.
    Backend: Node.js, Express.js, Mongoose
    Frontend: Vue.js, Vite, Pinia, Vue Router
    Database: MongoDB
    Hosting: AWS (x86)
  11. Password Reset Workflow

    Users regain access to accounts via the PasswordReset servlet and MailClient class:

    1. User enters email in resetpw.jsp.
    2. PasswordReset servlet verifies the email exists in the system.
    3. A temporary password is generated and encrypted via PasswordEncryptor.
    4. UserRealm updates the encrypted temporary password in the database.
    5. MailClient sends the temporary password to the user's email.
    6. User logs in and is prompted to update their password.