File size: 7,218 Bytes
b61ab0f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <title>Sanctissi-Missa - Modern Architecture</title>
  <script src="https://cdn.tailwindcss.com"></script>
  <script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
  <style>
    body {
      font-family: 'Inter', sans-serif;
    }
    .mermaid {
      background-color: #1e293b;
      padding: 1rem;
      border-radius: 0.5rem;
      overflow-x: auto;
    }
    .mermaid text {
      fill: white !important;
    }
    .feature-box {
      @apply p-4 border rounded-lg shadow-sm hover:shadow-md transition-shadow;
    }
    .feature-title {
      @apply font-semibold text-lg;
    }
  </style>
</head>
<body class="bg-gray-900 text-white">

  <!-- Header -->
  <header class="bg-gray-800 text-white p-6 shadow-md">
    <div class="container mx-auto">
      <h1 class="text-3xl font-bold">Sanctissi-Missa - Modern Architecture</h1>
      <p class="text-sm mt-1">©2025 Robin L. M. Cheung, MBA</p>
    </div>
  </header>

  <!-- Main Content -->
  <main class="container mx-auto p-6 space-y-10">
    
    <!-- Repository Structure -->
    <section>
      <h2 class="text-2xl font-semibold mb-4">Repository Structure</h2>
      <p class="mb-4">The project is organized as a parent repository with two key submodules:</p>
      <pre class="bg-gray-800 p-4 rounded-lg overflow-x-auto">
sanctissi-missa/
├── reference/                 # Original Divinum Officium (Perl)
├── typescript-app/           # Modern TypeScript Implementation
└── docs/                    # Project Documentation
      </pre>
    </section>

    <!-- Design Decisions -->
    <section>
      <h2 class="text-2xl font-semibold mb-4">Design Decisions</h2>
      <div class="space-y-4">
        <div class="feature-box bg-gray-800 border-gray-700">
          <h3 class="feature-title">Parent Repository Pattern</h3>
          <ul class="list-disc list-inside mt-2 space-y-1">
            <li>Main repository serves as an organizational wrapper</li>
            <li>Maintains clear separation between reference and implementation</li>
            <li>Provides centralized documentation and project management</li>
          </ul>
        </div>
        <div class="feature-box bg-gray-800 border-gray-700">
          <h3 class="feature-title">Submodule Structure</h3>
          <ul class="list-disc list-inside mt-2 space-y-1">
            <li><strong>Reference Implementation</strong> (<code>/reference</code>): Original Divinum Officium Perl codebase</li>
            <li><strong>TypeScript Implementation</strong> (<code>/typescript-app</code>): Clean-room implementation in TypeScript/React Native</li>
          </ul>
        </div>
        <div class="feature-box bg-gray-800 border-gray-700">
          <h3 class="feature-title">Clean Room Implementation</h3>
          <ul class="list-disc list-inside mt-2 space-y-1">
            <li>Complete separation from original codebase</li>
            <li>Independent development approach</li>
            <li>Modern architectural patterns</li>
            <li>TypeScript/React Native stack</li>
          </ul>
        </div>
      </div>
    </section>

    <!-- Educational Architecture -->
    <section>
      <h2 class="text-2xl font-semibold mb-4">Educational Layer Architecture</h2>
      <div class="mermaid">
        graph TB
          subgraph "Content Types"
              Quick[Quick Definitions]
              Detail[Detailed Explanations]
              History[Historical Context]
              Spirit[Spiritual Significance]
              Latin[Latin Insights]
              Audio[Pronunciations]
          end

          subgraph "Access Methods"
              Tap[Tap/Click]
              Hover[Hover States]
              Search[Quick Search]
              Index[Reference Index]
          end

          subgraph "Display Methods"
              Tooltip[Interactive Tooltips]
              Panel[Side Panels]
              Sheet[Bottom Sheets]
              Drawer[Reference Drawer]
          end

          subgraph "Knowledge Levels"
              Basic[Basic Introduction]
              Inter[Intermediate]
              Adv[Advanced Theology]
              Lang[Language Details]
          end

          Quick --> Tooltip
          Detail --> Panel
          History --> Drawer
          Spirit --> Sheet
          Latin --> Panel
          Audio --> Tooltip

          Tap --> Quick
          Hover --> Detail
          Search --> Index
          Index --> All[All Content]
      </div>
    </section>

    <!-- Educational Features -->
    <section>
      <h2 class="text-2xl font-semibold mb-4">Educational Features Checklist</h2>
      <table class="min-w-full bg-gray-800 border border-gray-700 rounded-lg overflow-hidden">
        <thead class="bg-gray-700">
          <tr>
            <th class="px-4 py-2 text-left">Feature</th>
            <th class="px-4 py-2 text-left">Status</th>
            <th class="px-4 py-2 text-left">Rationale</th>
            <th class="px-4 py-2 text-left">Priority</th>
          </tr>
        </thead>
        <tbody class="divide-y divide-gray-700">
          <tr>
            <td class="px-4 py-2">Interactive Terms</td>
            <td class="px-4 py-2">🔲</td>
            <td class="px-4 py-2">Enable quick understanding of Latin terms</td>
            <td class="px-4 py-2">High</td>
          </tr>
          <tr>
            <td class="px-4 py-2">Saint Information</td>
            <td class="px-4 py-2">🔲</td>
            <td class="px-4 py-2">Provide context for feast days</td>
            <td class="px-4 py-2">High</td>
          </tr>
          <tr>
            <td class="px-4 py-2">Liturgical Explanations</td>
            <td class="px-4 py-2">🔲</td>
            <td class="px-4 py-2">Clarify ritual significance</td>
            <td class="px-4 py-2">High</td>
          </tr>
          <tr>
            <td class="px-4 py-2">Latin Insights</td>
            <td class="px-4 py-2">🔲</td>
            <td class="px-4 py-2">Bridge language understanding</td>
            <td class="px-4 py-2">High</td>
          </tr>
        </tbody>
      </table>
    </section>

    <!-- Footer -->
    <footer class="text-center text-sm text-gray-500 mt-10">
      ©2025 Robin L. M. Cheung, MBA. All rights reserved.
    </footer>
  </main>

  <script>
    mermaid.initialize({ startOnLoad: true });
  </script>
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-qwensite.hf.space/logo.svg" alt="qwensite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-qwensite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >QwenSite</a> - 🧬 <a href="https://enzostvs-qwensite.hf.space?remix=RobinsAIWorld/hello-word-infosite" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>