- Project Overview
- Technologies Used
- Installation
- Running the Project
- Features
- Project Structure
- Contributors
- Submission Guidelines
- Contact
This project involves creating a mobile application for a School Management System using React Native and Firebase. The system will support three types of users: Admin, Teacher, and Student, each with different functionalities.
- React Native CLI (No Expo)
- Firebase
- Authentication
- Firestore
- Storage
- Realtime Database
- Third-party Packages:
@react-native-async-storage/async-storage@react-native-community/checkbox@react-native-firebase/app@react-native-firebase/auth@react-native-firebase/database@react-native-firebase/firestore@react-native-firebase/storage@react-navigation/native@react-navigation/stackreact-native-bouncy-checkboxreact-native-chart-kitreact-native-date-pickerreact-native-gesture-handlerreact-native-html-to-pdfreact-native-image-pickerreact-native-linear-gradientreact-native-paperreact-native-picker-selectreact-native-safe-area-contextreact-native-screensreact-native-sharereact-native-svgreact-native-vector-icons
- Clone the repository:
git clone https://github.com/JavTahir/School-Management-System.git cd sms - Install dependencies:
npm install
- Set up Firebase:
- Create a Firebase project at Firebase Console.
- Add your projects
google-services.jsonfile in android/app/.
- Start the Metro server:
npm start
- Run on Android:
npm run android
- Run on iOS:
npm run ios
- Admin Account: Pre-created account (no sign-up required).
- Manage Classes and Teachers: Assign or remove classes for teachers.
- Student Management: Create, view, edit, and delete student records.
- Fee Management: Insert, view, update, and delete fee status for students.
- Reports:
- Student Age Record: Detailed age report of students.
- Result Sheet: Overall class results.
- Timetable and Syllabus: Upload and remove yearly timetable and class syllabi.
- PDF Reports: Download reports in PDF format using a third-party package.
- Login: Each teacher has individual login credentials.
- Class Management: View, search, insert, update, and delete student marks.
- CRUD Operations: Perform CRUD operations for assigned classes only.
- Login: Each student has individual login credentials.
- Marks Viewing: View marks for all subjects and terms (First, Mid, Final).
- Fee Status: View fee status and payment history.
- Timetable and Syllabus: View class timetable and syllabus.
sms/
├── android/
├── ios/
├── src/
│ ├── components/
│ ├── screens/
│ ├── navigation/
│ ├── utils/
│ └── firebaseConfig.js
├── .eslintrc.js
├── .prettierrc
├── App.js
├── package.json
└── README.md
For any queries, contact Javeria Tahir or refer to the course guidelines.
Thank you for using sms!