How shreyash-sp80/crms-appwrite works
CRMS-Appwrite is a Streamlit results-management and analysis application backed by Appwrite. The principal workflow is administrator PDF upload, extraction and storage of student results, followed by filtered dashboards, analyses, search and report generation; users also reach login and registration through the app. The README provides little product detail, and several page implementations were not sampled, so unsampled pages are represented as capabilities from their filenames rather than detailed internal flows.
Main entry points: app.py App entry and navigation · appwrite_db.py Database access · upload_pdf.py PDF upload and extraction · dashboard.py Performance dashboard
Components 16
Streamlit application
- App entry and navigation
app.py - Login and registration
app.py
Result ingestion
- PDF upload and extraction
pages/upload_pdf.py
Results and reporting
- Performance dashboard
pages/dashboard.py - Top students
pages/top_students.py - Division analysis
pages/division_analysis.py - Pass/fail analysis
pages/pass_fail_analysis.py - Subject analysis
pages/subject_analysis.py - Student search
pages/student_search.py - Excel report
pages/excel_report.py - My results
pages/my_results.py - Update results
pages/update_results.py
Persistence
- Database access
backend/appwrite_db.py
Other components
- User
- Appwrite database
- Email OTP service
Connections 24
- User → App entry and navigation: opens
- App entry and navigation → Login and registration: shows
- App entry and navigation → Performance dashboard: routes
- App entry and navigation → PDF upload and extraction: routes
- App entry and navigation → Top students: routes
- App entry and navigation → Division analysis: routes
- App entry and navigation → Pass/fail analysis: routes
- App entry and navigation → Subject analysis: routes
- App entry and navigation → Student search: routes
- App entry and navigation → Excel report: routes
- App entry and navigation → My results: routes
- App entry and navigation → Update results: routes
- Login and registration → Email OTP service: sends OTP
- PDF upload and extraction → Database access: saves results
- Performance dashboard → Database access: loads results
- Top students → Database access: loads results
- Division analysis → Database access: loads results
- Pass/fail analysis → Database access: loads results
- Subject analysis → Database access: loads results
- Student search → Database access: loads details
- Excel report → Database access: loads results
- My results → Database access: accesses results
- Update results → Database access: accesses results
- Database access → Appwrite database: reads and writes