A web-based application for managing student academic records, built with React, TypeScript, and Firebase.
-
User Authentication
- Separate login for students and teachers
- Secure authentication using Firebase Auth
- User role-based access control
-
Teacher Features
- Manage student marks for different subjects
- Generate academic reports
- View and manage subjects
- Real-time updates using Firebase Realtime Database
-
Student Features
- View academic performance
- Track marks across different subjects
- Real-time updates of new marks
- React 18
- TypeScript
- Firebase (Authentication & Realtime Database)
- Tailwind CSS
- Vite
-
Clone the repository:
git clone https://github.com/chama-x/StudentMarkSystem.git cd StudentMarkSystem -
Install dependencies:
npm install
-
Create a Firebase project and add your configuration:
- Create a new project in Firebase Console
- Enable Authentication and Realtime Database
- Copy your Firebase configuration
- Update the configuration in
src/firebase.ts
-
Start the development server:
npm run dev
- Email: teacher@school.com
- Password: Teacher@123
src/
├── components/ # React components
│ ├── auth/ # Authentication components
│ ├── student/ # Student dashboard components
│ └── teacher/ # Teacher dashboard components
├── contexts/ # React contexts
├── services/ # Firebase services
├── types/ # TypeScript types
└── utils/ # Utility functions
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.