Lexiverse
Lexiverse - AI contextual reading engine for English learners. Your next article is your next review.
Manage school student records, attendance, grades and generate report cards
AI summary · website content
EducationPythonGitHub @emmynshuti1OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A web application for running a school's day-to-day student records: registration, classes, attendance, grades and printable report cards. Built with Python, Streamlit and SQLite — no separate database server is needed.
Requires Python 3.10 or newer.
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activate
pip install -r requirements.txt
streamlit run app.py
Then open http://localhost:8501. On the first visit you will be asked to name the school and create the administrator account.
Until an administrator exists, the app shows the setup screen to whoever opens it. Before sharing a public URL, add a secret so only you can complete setup:
# .streamlit/secrets.toml locally, or the app's Secrets settings in the cloud
setup_code = "choose-a-long-random-code"
Note that Streamlit Community Cloud does not keep files between restarts, so the SQLite database there is temporary. For real school use, run the app on a machine or server with persistent storage and take regular backups.
data/school.db (SQLite). Set the SMS_DB_PATH environment
variable to store it elsewhere.students.json are imported automatically on first run:
each course becomes a subject and each mark becomes a grade for the current term.data/ folder is
excluded from Git because it contains personal information.| Score | Grade |
|---|---|
| 80–100 | A |
| 70–79 | B |
| 60–69 | C |
| 50–59 | D |
| 0–49 | F |
The pass mark (default 50) can be changed in Administration.
python -m unittest discover -s tests -t .
app.py Entry point: database setup, sign-in gate, navigation
app_pages/ One file per screen (UI only)
sms/
config.py Constants and paths
db.py SQLite schema, connections, legacy JSON import
validation.py Input validation shared by all services
ui.py Small shared UI helpers
services/ Business logic: students, classes, grades, attendance,
reports, auth, settings
tests/ Unit tests for services and headless UI tests
.streamlit/ Theme and server configuration