<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Johan Santri</title>
    <description>The latest articles on DEV Community by Johan Santri (@johan_santri_3ee25f4f7471).</description>
    <link>https://dev.to/johan_santri_3ee25f4f7471</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3721065%2F65d9aa38-ebd0-414e-ab3f-13827acb50a2.png</url>
      <title>DEV Community: Johan Santri</title>
      <link>https://dev.to/johan_santri_3ee25f4f7471</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/johan_santri_3ee25f4f7471"/>
    <language>en</language>
    <item>
      <title>Building a Modern LMS with Django, HTMX, and Tailwind CSS — Introducing JakIja</title>
      <dc:creator>Johan Santri</dc:creator>
      <pubDate>Tue, 20 Jan 2026 08:00:31 +0000</pubDate>
      <link>https://dev.to/johan_santri_3ee25f4f7471/building-a-modern-lms-with-django-htmx-and-tailwind-css-introducing-jakija-4fkn</link>
      <guid>https://dev.to/johan_santri_3ee25f4f7471/building-a-modern-lms-with-django-htmx-and-tailwind-css-introducing-jakija-4fkn</guid>
      <description>&lt;p&gt;&lt;strong&gt;What Is JakIja?&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Learning Management Systems (LMS) are everywhere, but building one that is&lt;br&gt;
&lt;a href="https://github.com/johansantri/jakija" rel="noopener noreferrer"&gt;JakIja&lt;/a&gt; is an open-source Learning Management System (LMS) designed to support multi-vendor learning platforms. It focuses on providing essential LMS features without unnecessary complexity, making it easier to extend and maintain.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of relying on heavy frontend frameworks, JakIja embraces a server-driven approach using Django and HTMX, which results in a simpler architecture and better performance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Design Philosophy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;JakIja is built with a few core principles in mind:&lt;br&gt;
Lightweight &amp;amp; Performant&lt;br&gt;
Focuses on core LMS functionality with minimal overhead.&lt;br&gt;
Modular &amp;amp; Extendable&lt;br&gt;
Easy to customize and scale as the platform grows.&lt;br&gt;
Developer-Friendly&lt;br&gt;
Clean project structure and readable Django patterns.&lt;br&gt;
Interactive Without Complexity&lt;br&gt;
Uses HTMX to deliver dynamic UI interactions without JavaScript-heavy frameworks.&lt;br&gt;
Key Features&lt;br&gt;
User &amp;amp; Role Management&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;JakIja supports multiple user roles, such as:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Admin&lt;/li&gt;
&lt;li&gt;Instructor&lt;/li&gt;
&lt;li&gt;Learner&lt;/li&gt;
&lt;li&gt;Partner&lt;/li&gt;
&lt;li&gt;Subsction&lt;/li&gt;
&lt;li&gt;Curation&lt;/li&gt;
&lt;li&gt;Finance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each role has its own permissions and dashboard experience.&lt;br&gt;
Course &amp;amp; Content Management&lt;br&gt;
Create and manage courses&lt;br&gt;
Upload learning materials (documents, videos, quizzes)&lt;br&gt;
Organize content in a structured and scalable way&lt;br&gt;
Assessment &amp;amp; Progress Tracking&lt;br&gt;
Automated evaluations&lt;br&gt;
Learner progress tracking&lt;br&gt;
Learning analytics and reports&lt;br&gt;
These features make it easier for instructors to monitor student performance.&lt;br&gt;
Subscription &amp;amp; Payment System&lt;/p&gt;

&lt;p&gt;JakIja includes support for paid courses and subscriptions, with examples of payment gateway integration (such as Tripay for Indonesia).&lt;/p&gt;

&lt;p&gt;This makes it suitable not only for educational institutions, but also for commercial learning platforms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Technology Stack&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;JakIja uses a modern and pragmatic stack:&lt;br&gt;
Python &amp;amp; Django – A robust and scalable backend framework&lt;br&gt;
HTMX – Dynamic UI updates without complex frontend frameworks&lt;br&gt;
Tailwind CSS – Utility-first CSS for fast and clean UI development&lt;br&gt;
SQLite / Other Databases – Flexible database options depending on needs&lt;/p&gt;

&lt;p&gt;This combination keeps development fast while maintaining long-term maintainability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quick Installation Guide&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you want to try JakIja locally, here’s a quick setup guide:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/johansantri/jakija.git
cd jakija
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After running the server, open your browser at:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://127.0.0.1:8000

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Why JakIja Is Interesting for Developers&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;JakIja is a great project if you:&lt;br&gt;
Want to learn Django with a real-world project&lt;br&gt;
Are curious about HTMX in production&lt;br&gt;
Need a base LMS platform to customize&lt;br&gt;
Prefer server-side rendering over complex frontend stacks&lt;br&gt;
It can also be a solid starting point for adding features like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Discussion forums&lt;/li&gt;
&lt;li&gt;More payment gateways&lt;/li&gt;
&lt;li&gt;API integrations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;JakIja demonstrates how a modern LMS can be built using a clean, server-driven architecture with Django, HTMX, and Tailwind CSS.&lt;/p&gt;

&lt;p&gt;Whether you’re building an educational platform, exploring HTMX, or contributing to open-source, JakIja is definitely worth checking out.&lt;/p&gt;

</description>
      <category>lms</category>
      <category>django</category>
      <category>htmx</category>
      <category>tailwindcss</category>
    </item>
  </channel>
</rss>
