- Create and Edit Records: Management can create and edit records for both teachers and students.
- Authentication: Firebase Authentication is used for student login, while teachers have separate authentication.
- Profile Access: Teachers and students can view their profiles.
- Fee Details: Students can view their fee details.
- Results: Students can access their academic results.
- Material Distribution: Teachers can efficiently send learning materials and assignments to their students using GraphQL.
- Assignment Checking: Student assignments are automatically checked using ChatGPT APIs.
- Automatic Attendance: Attendance is automatically tracked using AWS Rekognition.
- Examination Proctoring: AWS Rekognition is used for examination proctoring to ensure exam integrity.
- Firebase: Used for authentication and real-time database.
- Node.js: Backend framework.
- MongoDB: Used as the database.
- OpenAI APIs: Used for automatic assignment checking.
- AWS Rekognition: Used for automatic attendance and examination proctoring.
- AWS Textract: Used for document analysis.
- AWS Lambda: Used for serverless deployment.
- AWS ECR: Used for containerized deployment.
- GitHub Actions: Used for CI/CD and deploying the backend.
- Node.js installed
- Firebase account and project setup
- AWS account with Rekognition, Textract, Lambda, and ECR services enabled
- OpenAI API key
-
Clone the repository:
git clone https://github.com/Tushar2001bbdu/SMS_BACKEND
- Install dependencies:
npm install
-
Set up environment variables:
- Create a
.env
file in the root directory. - Add the following environment variables:
FIREBASE_API_KEY=<your-firebase-api-key> FIREBASE_AUTH_DOMAIN=<your-firebase-auth-domain> FIREBASE_PROJECT_ID=<your-firebase-project-id> AWS_ACCESS_KEY_ID=<your-aws-access-key-id> AWS_SECRET_ACCESS_KEY=<your-aws-secret-access-key> OPENAI_API_KEY=<your-openai-api-key>
- Create a
-
Start the development server:
npm run start
-
The backend will be available at
http://localhost:3001
.
- The backend is deployed using AWS Lambda and AWS ECR for containerized deployments. GitHub Actions are used to automate the deployment process. Each push to the
main
branch triggers a deployment workflow.
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Commit your changes and push to your branch.
- Open a pull request to the
main
branch.
This project is licensed under the MIT License - see the LICENSE file for details.
For any questions or support, please contact tusharkumargupta032@gmail.com.