A Python-based Student Management System with secure login, CRUD operations, reporting, file-based data storage, and activity logging. Built as a Capstone Project for the RITA Africa Python Fundamentals Bootcamp.
# π Student Management System
A simple Python-based Student Management System developed as a **capstone project** for the **RITA Africa Python Fundamentals Course**.
This application allows **secure login**, **student record management (CRUD)**, **report generation**, and **file-based data persistence**.
---
## π Key Features
- π **Authentication System** β Secure login with user accounts stored in `users.txt`
- π§βπ **Student Data Management** β Add, view, search, update, and delete student records
- π **Report Generation** β Generate basic reports on total students and grade distribution
- π **Activity Logging** β Tracks user logins, logouts, and actions in `activity_log.txt`
- πΎ **File-Based Storage** β Data is stored in text files (`students.txt`, `users.txt`) for persistence
- π₯οΈ **Menu-Driven Interface** β Simple and user-friendly navigation
---
## π οΈ Technologies Used
- π Python 3.x
- π File Handling (TXT)
- β±οΈ `datetime` module (for logging timestamps)
- π `getpass` module (for hidden password entry)
---
## π Project Structure
```
student_management_system/
βββ main.py # Main program (menu-driven interface)
βββ student_management_system.ipynb # Jupyter Notebook version
βββ users.txt # Stores usernames and passwords
βββ students.txt # Stores student records
βββ activity_log.txt # Logs user activity
βββ README.md # Project documentation
```
## π How to Run
```bash
# Clone this repository
1. Clone this repository:
git clone
github.com
cd student-management-system
2. Run the program:
python main.py
3. If running for the first time, create an Admin account when prompted.
```
π±οΈ Usage
---
Login with a valid username and password. Use the menu to:
- β Add a new student
- π View all students
- π Search for a student by roll number
- βοΈ Update student details
- β Delete student records
- π Generate a student report
- Logout when done (session activity will be logged)
```
```
π Sample Report β¦