-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Optimal is a modern academic documentation platform designed to transform traditional course materials into a structured, interactive, and high-performance web experience.
Inspired by the clarity and usability of MDN Web Docs, Optimal replaces fragmented PDFs with a centralized, scalable system tailored for both students and educators.
It focuses on:
- π Readable and structured content
- π§ Intuitive navigation
- β‘ High performance with modern Angular
- π Accessibility through theming (dark/light mode)
Optimal is built with a strong emphasis on performance, scalability, and developer experience.
| Technology | Purpose |
|---|---|
| Angular 19 | Core frontend framework |
| TypeScript 5 | Type-safe application logic |
| Signals | Reactive state management |
| Marked | Markdown parsing engine |
| DOMPurify | HTML sanitization (security) |
| Bootstrap 5 | Responsive UI and theming |
Optimal follows a feature-based scalable architecture, separating global concerns from domain-specific logic.
src/app/
βββ core/ # Global services (Markdown, ScrollSpy, Theme)
βββ layout/ # Application shell (Header, Sidebar, Breadcrumbs)
βββ shared/ # Reusable UI components
βββ features/ # Business features (e.g., courses)
This structure ensures:
- clear separation of concerns
- scalability for future features
- maintainability across teams
The UI is composed of structured components working together with core services.
AppComponent
β
βββ HeaderComponent (theme, navigation)
βββ SidebarComponent (course navigation)
βββ CourseDetailComponent
βββ SectionComponent (renders Markdown)
βββ TOC (table of contents)
-
CourseServiceβ loads course data -
MarkdownServiceβ parses content -
ScrollSpyServiceβ tracks active section -
ThemeServiceβ manages UI theme
Optimal treats Markdown as its primary data source.
User Action (click course)
β
Router (course id)
β
CourseService (fetch Markdown)
β
MarkdownService (parse β HTML)
β
SectionComponent (render)
β
ScrollSpyService (observe headings)
β
TOC updates (active section)
This pipeline ensures:
- fast rendering
- dynamic navigation
- structured learning experience
Managed by the layout/ layer:
- HeaderComponent
- SidebarComponent
- BreadcrumbComponent
Responsibilities:
- responsive layout
- navigation structure
- theme switching
Handled by MarkdownService:
- parses Markdown using Marked
- sanitizes output with DOMPurify
- generates heading anchors for navigation
Courses are stored as a filesystem-based content system:
public/courses/
βββ course-id/
βββ index.json
βββ introduction.md
βββ ...
CourseService is responsible for:
- loading course files
- mapping routes β content
- caching and performance
To explore the project further, check these sections:
- Setup instructions
- Development server
- Build & scripts
- Detailed explanation of folders
- Naming conventions
- Feature architecture
Optimal aims to evolve into a complete academic documentation ecosystem:
- structured course publishing
- collaborative content editing
- versioned documentation
- advanced search capabilities
Contributions are welcome.
To get involved:
- Fork the repository
- Create a feature branch
- Submit a Pull Request
Optimal is designed with scalability and clarity at its core.
It is not just a project β it is a foundation for building modern educational platforms.