MyApp System Guide
Professional guide for Shatibiy Institute
# 🏛️ Shatibiy Institute - Main App (MyApp) System Guide
**Complete guide for administrators and users to understand and use the main application features.**
---
## 📋 Table of Contents
1. [System Overview](#system-overview)
2. [User Roles](#user-roles)
3. [Key Features](#key-features)
4. [How to Use Each Feature](#how-to-use-each-feature)
5. [Community Platform](#community-platform)
6. [Admin Functions](#admin-functions)
7. [Troubleshooting](#troubleshooting)
8. [FAQ](#faq)
---
## 🎯 System Overview
### What is MyApp?
MyApp is the **main application hub** for Shatibiy Institute. It provides:
- Public website interface
- Course catalog and enrollment
- Student progress tracking
- Admin dashboard
- Payment management
- Notification system
### Core Components
```
┌─────────────────────────────────────────────┐
│ SHATIBIY INSTITUTE PLATFORM │
├─────────────────────────────────────────────┤
│ MyApp (Main) │ Student │ Instructor │ │
├─────────────────────────────────────────────┤
│ • Courses │ • Dashboard │ • Classes │
│ • Enrollment │ • Classes │ • Reports │
│ • Payments │ • Materials │ • Exams │
│ • Admin │ • Progress │ • Students │
└─────────────────────────────────────────────┘
```
---
## 👥 User Roles
### 1. **Anonymous Users** (Not logged in)
- Can view home page
- Can view course information
- Can register/login
- Can access public resources
### 2. **Students** (Enrolled users)
- Can enroll in courses
- Can access course materials
- Can join classes
- Can submit assignments
- Can view certificates
- Can manage payments
- Can request course upgrades
### 3. **Instructors** (Teachers)
- Can manage their students
- Can create and manage classes
- Can assign exams
- Can create reports
- Can update student progress
- Can view student performance
### 4. **Administrators** (System managers)
- **Full system access**
- Can manage users
- Can manage courses
- Can approve payments
- Can manage enrollments
- Can view all data
- Can manage configurations
---
## 🎨 Key Features
### 1. **Course Management**
- View all available courses
- Filter by category
- See course details
- Enroll in courses
- Track progress
### 2. **User Registration & Authentication**
- Create new account
- Login/Logout
- Password reset
- Profile management
- Email verification
### 3. **Course Enrollment**
- Browse available courses
- View course details
- Enroll with payment
- Track enrollment status
- Get course materials
### 4. **Payment System**
- Pay enrollment fees
- Track payment status
- Receive payment confirmations
- Payment history
- Receipt download
### 5. **Notifications**
- Receive notifications for:
- Course updates
- Payment reminders
- Assignment deadlines
- Class schedules
- System announcements
### 6. **Admin Dashboard**
- View all users
- Manage courses
- Approve payments
- View analytics
- Manage system settings
### 7. **Error Handling**
- Professional error pages
- Error ID tracking
- Support contact information
- Troubleshooting guides
---
## 📖 How to Use Each Feature
### **Feature 1: Registering as a User**
**Step-by-Step:**
1. **Visit the Homepage**
```
Go to: http://localhost:8000/ or your domain
```
2. **Click "Register" or "Sign Up"**
- Look for register button in top right corner
- Or go to: `/register/`
3. **Fill in the Registration Form**
```
Required Fields:
✓ Full Name: Your complete name
✓ Email: Valid email address
✓ Password: Strong password (8+ chars)
✓ Phone: Your phone number
✓ Country: Select your country
```
4. **Review Terms & Conditions**
- Read the privacy policy
- Accept terms by checking the box
5. **Click "Register"**
- Account is created
- Welcome email is sent
- Verify your email (check inbox)
6. **Login with Your Credentials**
- Email and password
- You're now logged in!
**✅ Success:** You now have an active account
---
### **Feature 2: Browsing & Enrolling in Courses**
**Step-by-Step:**
1. **Go to Courses Page**
```
Click: Courses (in main menu)
Or visit: /courses/
```
2. **View Course Categories**
- See all course categories
- Click a category to see courses
- Example: "Quran" → see all Quran courses
3. **Select a Course**
- Click on course card
- Read course description
- See course levels
- View instructor info
- Check course fees
4. **Click "Enroll Now"**
- Choose course level (if available)
- Select preferred schedule
- Click "Enroll"
5. **Complete Payment**
- Payment page opens
- Enter payment details
- Complete transaction
- Receive confirmation email
6. **Access Course Materials**
- Go to your dashboard
- Course now appears in "My Courses"
- Access lectures, materials, and classes
**✅ Success:** You are now enrolled and can access the course
---
### **Feature 3: Making Payments**
**Step-by-Step:**
1. **Go to Payments Section**
```
For Students: Student Dashboard → Payments
For Admin: Admin Panel → Payment Management
```
2. **View Payment Status**
- See all due payments
- See payment deadlines
- See payment history
- Check payment status (pending/paid/overdue)
3. **Make a Payment**
- Click "Pay Now" on pending payment
- Enter payment amount (if flexible)
- Select payment method
- Complete transaction
- Get receipt
4. **Download Receipt**
- After successful payment
- Click "Download Receipt"
- Receipt is sent to your email
- Keep for records
5. **Check Payment History**
- Click "Payment History"
- See all past payments
- View dates and amounts
- Download any receipt
**📋 Payment Methods:**
- Credit/Debit Card
- PayPal
- Bank Transfer
- Mobile Money
**⏰ Payment Deadlines:**
- Set automatically on enrollment
- 5 days from enrollment date
- Can be extended by admin
- Reminders sent 15 days & 5 days before due
**✅ Success:** Payment confirmed and course access granted
---
### **Feature 4: Contacting Admin & Support**
**Step-by-Step:**
1. **Go to Contact Page**
```
Click: Contact (in footer)
Or visit: /contact/
```
2. **Fill Contact Form**
```
✓ Your Name
✓ Your Email
✓ Subject (What is your question about?)
✓ Message (Describe your issue)
```
3. **Submit Form**
- Admin receives your message
- You get confirmation email
- Admin responds within 24-48 hours
4. **Direct Contact**
```
📧 Email: shatibiyinstitute@gmail.com
📱 Phone: [Add your phone number]
🕐 Response Time: 24-48 hours
```
**📝 Common Contact Topics:**
- Enrollment issues
- Payment problems
- Course access questions
- Technical issues
- Account problems
- Feedback and suggestions
**✅ Success:** Your message is sent and will be addressed
---
### **Feature 5: Using the Admin Dashboard**
**⚠️ Admin Only - Requires Admin Permissions**
**Access Admin Panel:**
```
Go to: http://localhost:8000/admin/
Login with admin credentials
```
**Main Admin Functions:**
#### **A. User Management**
```
Admin → Users
├─ View all users
├─ Search users
├─ View user details
├─ Edit user information
├─ Activate/Deactivate users
└─ Manage user permissions
```
#### **B. Course Management**
```
Admin → Courses
├─ Create new course
├─ Edit course details
├─ Manage course levels
├─ Manage course categories
├─ Set course fees
├─ Publish/Unpublish courses
└─ View course enrollment stats
```
#### **C. Payment Management**
```
Admin → Payments
├─ View all payments
├─ Approve/Reject payments
├─ Extend payment deadlines
├─ Generate payment reports
├─ View payment history
└─ Send payment reminders
```
#### **D. Enrollment Management**
```
Admin → Enrollments
├─ View all enrollments
├─ Approve enrollments
├─ Reject enrollments
├─ View enrollment status
└─ Export enrollment data
```
#### **E. Notifications**
```
Admin → Notifications
├─ View all notifications
├─ Send announcements
├─ Manage notification settings
└─ View notification history
```
**✅ Success:** Admin can manage all system aspects
---
### **Feature 6: Viewing Error Pages**
**When Errors Occur:**
#### **404 Error (Page Not Found)**
```
What you see:
- Large "404" message
- "Page Not Found" title
- Troubleshooting steps
- Search box
- "Go Home" button
- "Go Back" button
What to do:
1. Check the URL (look for typos)
2. Use the search function
3. Click "Go Home"
4. Click "Go Back"
```
#### **500 Error (Server Error)**
```
What you see:
- Large "500" message
- "Oops! Something Went Wrong" title
- Error Reference ID (e.g., "A7F9E2C1")
- Troubleshooting steps
- Support email: shatibiyinstitute@gmail.com
- "Refresh Page" button
- "Go Home" button
What to do:
1. Refresh the page
2. Wait a few moments
3. Clear browser cache
4. Try a different browser
5. Contact support with Error ID
📝 Note: Error ID helps support team find the issue
```
**✅ Success:** Issue is being addressed by support team
---
## 🤝 Community Platform
### Overview
The **Shatibiy Community** is an integrated social learning network accessible to authenticated users (students and instructors). It serves as a bridge for community engagement, knowledge sharing, and peer mentorship around Islamic education.
### Accessing the Community
**For Students:**
- Click **"Community"** in the student sidebar under "Community" section
- Or use top navigation link
**For Instructors:**
- Click **"Community"** in the top navigation bar
- Shows pending posts count (orange badge for admin)
**Public Access:**
- Public site has **"Community"** link in navigation
- Clicking requires login to access
### Community Platform Features
#### 📰 **Social Feed**
- Unified feed for all authenticated users
- Posts organized by 8 Islamic learning categories
- Pagination for easy browsing
- Featured posts highlighted
- Post-of-the-week recognition
#### ✍️ **Post Creation**
Users can create posts with:
- Multiple post types: text, images, videos, documents, links
- 8 categories for proper organization
- Title and body content
- Media uploads (50MB limit)
- Auto-moderation (pending → approved/rejected workflow)
#### ❤️ **Engagement System**
- **Likes**: With animations and counters
- **Comments**: Threaded discussions with replies
- **Saves/Bookmarks**: Personal collections
- **Reports**: Safety mechanism for inappropriate content
#### 🏆 **Moderation Features**
**Admin Controls:**
- Approve/reject pending posts
- Pin posts to top of feed
- Feature posts in sidebar
- Set Post-of-the-Week
- View and manage reports
- Enforce community standards
#### 🔍 **Discovery**
- **Category Filtering**: Browse by topic
- **Featured Posts**: Admin-highlighted content
- **Post-of-Week**: Special recognition widget
- **Search**: Find relevant posts
### Community Standards
Posts should be:
- ✅ Authentic Islamic knowledge
- ✅ Respectful and constructive
- ✅ Helpful to community
- ✅ Properly categorized
- ✅ Well-formatted
Posts may be rejected for:
- ❌ Misinformation or false claims
- ❌ Disrespectful language
- ❌ Spam or advertising
- ❌ Off-topic content
- ❌ Duplicate/repeated posts
### User Roles in Community
**Students:**
- Create posts (pending review)
- Like, save, comment
- Report inappropriate content
- See instructor and peer posts
- Participate in discussions
**Instructors:**
- Create posts (auto-approved)
- Moderate community (approve/reject)
- Pin/feature posts
- Set Post-of-the-Week
- View reports and take action
- Guide community standards
**Admin:**
- All instructor permissions
- Override decisions
- Manage user accounts
- View analytics
- System-wide settings
### Integration with Portals
The community platform is seamlessly integrated:
**Student Portal Integration:**
- Community link in sidebar
- Extends student/base.html template
- Students see their portal navigation with community navbar
- Consistent look and feel
**Instructor Portal Integration:**
- Community link in top navigation
- Extends instructor/base.html template
- Instructors see their navigation with community navbar
- Admin controls visible (moderation queue, reports)
**Public Site:**
- Community link directs to login
- Once authenticated, users access unified community
- Same experience regardless of entry point
### Technical Architecture
**Database Models:**
- CommunityPost: Main content
- PostLike: Engagement tracking
- PostComment: Threaded discussions
- PostSave: Bookmarks
- PostReport: Moderation reports
- PostView: Analytics
**Performance Optimized:**
- Query optimization prevents N+1 problems
- Pagination for large datasets
- Indexed searches
- Efficient engagement tracking
**Responsive Design:**
- Mobile-first approach
- Desktop, tablet, mobile optimized
- Touch-friendly interactions
- Professional Islamic aesthetic
### Community API Endpoints
All endpoints require authentication:
| Endpoint | Method | Purpose |
|----------|--------|---------|
| `/community/` | GET | Main feed |
| `/community/create/` | POST | Create post |
| `/community/api/post/<id>/like/` | POST | Toggle like |
| `/community/api/post/<id>/save/` | POST | Toggle save |
| `/community/api/post/<id>/comment/` | POST | Add comment |
| `/community/admin/queue/` | GET | Moderation queue |
| `/community/admin/reports/` | GET | View reports |
### Community Guidelines for Users
1. **Be Respectful**: Honor Islamic values in all interactions
2. **Share Beneficial Knowledge**: Only post educational content
3. **Engage Constructively**: Comments should add value
4. **Follow Standards**: Use appropriate categories
5. **Report Issues**: Flag inappropriate content
6. **Respect Diversity**: Different views are welcome
7. **Be Professional**: Maintain dignity in discussions
### Benefits of the Community
For **Students:**
- Access mentor guidance from instructors
- Learn from peer experiences
- Find study motivation
- Discover learning resources
- Build connections with classmates
For **Instructors:**
- Guide student learning community
- Share best practices
- Recognize student contributions
- Identify knowledge gaps
- Build teaching community
For **Institution:**
- Foster engaged learning culture
- Create peer support network
- Gather valuable feedback
- Strengthen student retention
- Build community identity
---
## 🔐 Admin Functions
### 1. **User Account Management**
**Create New User:**
1. Go to Admin → Users → Add User
2. Enter username, email, password
3. Set user role (student/instructor/admin)
4. Save
**Edit User:**
1. Go to Admin → Users
2. Click on user name
3. Edit information
4. Save changes
**Delete User:**
1. Go to Admin → Users
2. Click on user
3. Click "Delete"
4. Confirm deletion
**⚠️ Warning:** Deleting user removes all their data
---
### 2. **Payment Management**
**Approve Payment:**
1. Go to Admin → Payments
2. Find pending payment
3. Click "Approve"
4. Student gets access immediately
**Extend Payment Deadline:**
1. Go to Admin → Payments
2. Find payment
3. Click "Extend Deadline"
4. Select duration (7/14/30 days)
5. Save
**Send Payment Reminder:**
1. Go to Admin → Payments
2. Click "Send Reminder"
3. Student receives email
**View Payment History:**
1. Go to Admin → Payments
2. Filter by date/status/student
3. Export data if needed
---
### 3. **Course Management**
**Create New Course:**
1. Go to Admin → Courses → Add Course
2. Fill in course details:
- Name
- Description
- Category
- Instructor
- Price
- Levels
3. Save
**Edit Course:**
1. Go to Admin → Courses
2. Click course name
3. Edit details
4. Save
**Publish/Unpublish:**
1. Go to Admin → Courses
2. Click course
3. Toggle "Active" status
4. Save
**View Enrollment Stats:**
1. Go to Admin → Courses
2. Click course
3. View student count and statistics
---
## 🛠️ Troubleshooting
### **Problem 1: Can't Login**
**Symptoms:**
- "Invalid credentials" error
- Can't remember password
- Account locked
**Solutions:**
**If you forgot password:**
1. Click "Forgot Password?" on login page
2. Enter your email
3. Check email for reset link
4. Follow link and set new password
5. Login with new password
**If account is locked:**
1. Wait 30 minutes
2. Try again
3. Contact admin if problem persists
**If email is wrong:**
1. Click "Register" instead
2. Create new account with correct email
---
### **Problem 2: Payment Failed**
**Symptoms:**
- Payment declined
- Transaction timeout
- "Payment failed" error
**Solutions:**
**If payment was declined:**
1. Check card details are correct
2. Check card has sufficient balance
3. Try a different card/payment method
4. Contact your bank
**If transaction timed out:**
1. Wait a few minutes
2. Try the payment again
3. Try a different browser
4. Try mobile browser instead
**If still not working:**
1. Contact support: shatibiyinstitute@gmail.com
2. Include Error ID (if shown)
3. Provide details about the issue
---
### **Problem 3: Can't Access Course Materials**
**Symptoms:**
- Course doesn't appear in dashboard
- Can't download materials
- Can't join class
**Solutions:**
**If course doesn't appear:**
1. Refresh the page
2. Check enrollment status
3. Check if payment was approved
4. Contact admin if unsure
**If can't download materials:**
1. Check internet connection
2. Try different browser
3. Clear browser cache
4. Try downloading on computer (not phone)
**If can't join class:**
1. Check class schedule (is it today?)
2. Check if you're enrolled
3. Check browser permissions (camera/microphone)
4. Try different browser
---
### **Problem 4: Notification Issues**
**Symptoms:**
- Not receiving emails
- Notification bell is empty
- Missing important updates
**Solutions:**
**If not receiving emails:**
1. Check spam folder
2. Add shatibiyinstitute@gmail.com to contacts
3. Check email address is correct
4. Contact admin to resend
**If notification bell is empty:**
1. Refresh page (F5)
2. Clear browser cache
3. Logout and login again
4. Try different browser
**If missing updates:**
1. Check notification history
2. Go to Dashboard → Notifications
3. View all notifications
4. Contact admin for specific update
---
### **Problem 5: Server Error (500)**
**Symptoms:**
- "500 Server Error" page
- Error ID shown (e.g., "A7F9E2C1")
- System seems broken
**Solutions:**
**Immediate:**
1. **Refresh the page** - Wait 2 seconds, then refresh
2. **Clear cache** - Ctrl+Shift+Delete (Clear browsing data)
3. **Try different browser** - Chrome, Firefox, Safari, Edge
4. **Try later** - Server might be under maintenance
**If problem persists:**
1. **Note the Error ID** - You'll see "A7F9E2C1" or similar
2. **Contact support:**
```
Email: shatibiyinstitute@gmail.com
Include: Error ID, what you were doing, time of error
```
3. **Admin will investigate** - Error ID helps locate the issue
---
## ❓ FAQ
### **Q1: What is Shatibiy Institute?**
A: Shatibiy Institute is an online Islamic learning platform offering Quran studies, Islamic knowledge courses, and educational resources.
---
### **Q2: How do I enroll in a course?**
A:
1. Browse courses
2. Select a course
3. Click "Enroll"
4. Complete payment
5. Access course materials
---
### **Q3: What payment methods are accepted?**
A: Credit card, debit card, PayPal, bank transfer, and mobile money (depending on region).
---
### **Q4: When do I need to pay?**
A: Payment is due 5 days after enrollment. You'll receive reminder emails 15 days and 5 days before the deadline.
---
### **Q5: Can I get a refund?**
A: Refund policy is [ADD YOUR POLICY]. Contact admin for details.
---
### **Q6: How do I download my certificate?**
A:
1. Complete the course (100% progress)
2. Instructor marks you as completed
3. Admin approves certificate
4. Go to Student Dashboard → My Certificate
5. Click "Download"
---
### **Q7: How do I reset my password?**
A:
1. Go to login page
2. Click "Forgot Password?"
3. Enter your email
4. Check email for reset link
5. Create new password
6. Login with new password
---
### **Q8: Can I enroll in multiple courses?**
A: Yes! You can enroll in as many courses as you want (subject to payment requirements).
---
### **Q9: How do I contact the admin?**
A:
```
📧 Email: shatibiyinstitute@gmail.com
🌐 Contact Form: /contact/
⏰ Response Time: 24-48 hours
```
---
### **Q10: What should I do if I see a 404 error?**
A:
1. Check the URL for typos
2. Use the search function
3. Click "Go Home"
4. Contact support if page should exist
---
## 📞 Support & Help
**Need Help?**
| Contact Method | Details |
|---|---|
| **Email** | shatibiyinstitute@gmail.com |
| **Contact Form** | /contact/ (on website) |
| **Response Time** | 24-48 hours |
| **Hours** | Monday-Friday, 9am-5pm |
**Include When Contacting:**
- Your name
- Your email
- Issue description
- Error ID (if applicable)
- What you were trying to do
---
## 🚀 Getting Started Checklist
- [ ] Create account
- [ ] Verify email address
- [ ] Complete profile
- [ ] Browse courses
- [ ] Enroll in first course
- [ ] Make payment
- [ ] Access course materials
- [ ] Join first class
- [ ] Complete first assignment
- [ ] Explore Community Platform
- [ ] Read community posts
- [ ] Create first community post
- [ ] Engage with community (like/comment)
- [ ] Celebrate your progress! 🎉
---
**Last Updated:** May 2026
**Version:** 1.1
**Status:** ✅ Complete with Community Platform
For updates or corrections, contact: shatibiyinstitute@gmail.com