- Published
- October 9, 2025
- Last Updated
- October 10, 2025
Getting Started
This is the first page.
Welcome to Ifitwala Ed — a modern, elegant education ERP & LMS built on the Frappe framework. This guide walks you from zero to a working campus in minutes.
> What you’ll do > > 1. Install or connect to an Ifitwala Ed site > 2. Run the first-time setup > 3. Create core records (School, Academic Year, Programs, Courses) > 4. Invite users and assign roles > 5. Learn daily workflows (timetable, attendance, grading)
- Server: Ubuntu 22.04+ (2 vCPU / 4 GB RAM minimum for small schools)
- Stack: Python 3.10+, Node 18+, Redis, MariaDB 10.6+, Yarn, wkhtmltopdf
- Frappe/Bench: Bench CLI with a production or dev site
- Browser: Chrome/Edge/Firefox (latest)
> Tip: If you’re evaluating, start on a dev VM. You can migrate data later.
Create a new bench and site, then install the app:
# As a non-root user with sudo
bench init frappe-bench --frappe-branch version-15
cd frappe-bench
# Create site
bench new-site ifitwala.com # use your domain or dev host
# (answer DB + admin password prompts)
# Get the Ifitwala apps
bench get-app https://github.com/fderyckel/ifitwala_doc
bench get-app https://github.com/fderyckel/ifitwala_ed
# Install the school ERP into your site
bench --site ifitwala.com install-app ifitwala_ed ifitwala_doc
# Start (dev) or set up production
bench start
# or:
# bench setup production <your-linux-user>
bench get-app https://github.com/fderyckel/ifitwala_ed
bench --site your.site install-app ifitwala_ed
bench restart
When you log in as Administrator, you’ll see the setup assistant.
- School profile — Name, logo, academic level (K-12, higher-ed, training).
- Localization — Default currency, timezone, and language (you can add more later).
- Email — Outgoing (SMTP) and incoming (optional).
- Admin user — Create staff accounts (Principal, Registrar, Teachers).
- Backup — Enable automatic S3 or local backups (recommended).
> Note: You can rerun parts of setup anytime via the System Settings and Email Account doctypes.
| Concept | What it is | Typical examples |
|---|---|---|
| School | Your institution entity | Ifitwala International School |
| Academic Year / Term | Time containers for courses & grading | 2025–2026; Term 1 |
| Program | Cohort or curriculum path | Grade 7, B.Sc. Math, Level 2 |
| Course | A teachable unit | MATH-701, Physics I |
| Section | A course instance | Grade 7 Math – Section A |
| Student / Guardian | Learner + parent/guardian links | John Doe; Jane Doe (mother) |
| Staff | Faculty and admin users | Teachers, Registrar |
| Timetable | When/where instruction happens | Mon 10:00–10:50, Room 203 |
| Attendance | Daily or per-period presence | Present/Absent/Excused |
| Assessment | Graded work & transcript | Quizzes, Exams, Final grade |
- School → New → fill address, contact, logo.
- Academic Year → New →
2025-2026. - Academic Term → Term 1/2 (or Semester 1/2).
- Program → New → Grade 7.
- Course → New → MATH-701 (Grade 7 Math), SCI-701 (Science).
- Course Section → New → MATH-701 Section A, teacher, room, capacity.
- Timetable → Add weekly slots (period, day, room).
> Pro-tip: Bulk import with Data Import for faster onboarding (Programs, Courses, Students).
- Student → New → basic info + link a Guardian (email is useful for portal).
- Enroll into a Program and assign Sections.
User → New (email as ID) → assign Roles:
- Teacher, Program Coordinator, Registrar, Accounts User, etc.
> Security: Use 2-factor auth for admins; keep roles minimal.
- Attendance → choose date, section, mark Present/Absent/Excused.
- For daily attendance, enable the daily mode in Education Settings.
- Assessment → create components (Quiz, Midterm, Final).
- Enter marks per student → submit → transcript aggregates automatically.
- Send announcements via Email Campaign or Newsletter.
- Use built-in comments/mentions on records to collaborate.
- App UI supports multiple languages. Set default in System Settings → Language.
- Documentation pages use language codes (e.g.,
/docs/en/...,/docs/fr/...). - To add docs in another language: create a Documentation record with the right
Language Code.
> Authoring tip: Use clear headings (#, ##, ###) — our site auto-generates a TOC and search index from headings.
Backups: Set schedule (daily offsite recommended).
Update:
cd ~/frappe-bench bench update --resetBefore updating: take a manual backup and snapshot (if on a cloud VM).
> Docs page 404?
> Check Nginx alias for /docs/ and verify files under sites/assets/ifitwala_doc/docs/.
> Emails not sending? > Verify SMTP credentials in Email Account; check Email Queue for errors.
> Slow during peak hours? > Add RAM/CPU, enable Redis cache, and tune MariaDB buffers.
Can I import legacy students/courses? Yes. Use Data Import (CSV) for Students, Guardians, Programs, Courses, Sections.
Does it support multiple schools? Yes. Create additional School records and scope programs/years per school.
Where are logs?
Bench logs in ~/frappe-bench/logs/. App-specific log: ifitwala_doc.log.
- Set up payments (if you use Fees/Invoices).
- Deploy production with HTTPS + regular backups.
- Explore feature docs: attendance policies, grading schemes, transcripts, portals.
- v0.1 — Initial “Getting Started” draft with install, setup, and first workflows.
- Title =
Getting Started - Slug =
getting-started - Language =
en - Status =
Published - Category =
Introduction(optional) - Order =
0 - Paste content into Body (Markdown)
- Add tags:
onboarding,basics
> Screenshot placeholders
>
> * Dashboard after login
> * School form
> * Program and Course list
> * Timetable grid
> * Attendance sheet
> (Upload images and embed with standard Markdown:  once you decide your image path.)