Skip to content

Latest commit

 

History

History
152 lines (115 loc) · 4.69 KB

README.md

File metadata and controls

152 lines (115 loc) · 4.69 KB

EzMark - React Native App

⬇️ Download Now - Android Version

EzMark is a React Native application for managing attendance in a seamless and secure way.
The app allows:

  • Admins to add and manage teachers and students.
  • Teachers to create attendance requests with OTPs.
  • Students to verify their identity using facial recognition and enter the OTP for attendance verification.

Features

  • Admin Panel: Admins can add and manage teachers and students.
  • Attendance Requests: Teachers can create attendance requests with OTPs for students.
  • Biometric Verification: Students use facial recognition to verify their identity.
  • Secure Data Storage: Firestore is used for storing data and AWS S3 for image storage.

Technology Stack

  • React Native: Cross-platform mobile application development.
  • Firestore: Cloud-based NoSQL database.
  • AWS Rekognition: Facial recognition for secure attendance validation.
  • AWS S3: Image storage service for handling facial images.

Images

Intro Screens


Student Screens


Teacher Screens


Admin Screens


Setup Guide

Prerequisites

  1. Node.js installed on your machine.
  2. An AWS account for AWS Rekognition and S3 setup.
  3. A Firebase account for Firestore configuration.

Installation

Clone the repository:

git clone https://github.com/your-username/ezmark.git
cd ezmark
npm install

Firestore Configuration

  1. Navigate to Config/firestore.js.
  2. Update the file with your Firestore credentials:
import { initializeApp } from "firebase/app";
import { getAnalytics } from "firebase/analytics";
import { initializeAuth, getReactNativePersistence, getAuth } from 'firebase/auth';
import { getFirestore } from "firebase/firestore";
import ReactNativeAsyncStorage from '@react-native-async-storage/async-storage';

const firebaseConfig = {
  apiKey: "your-apiKey",
  authDomain: "your-authDomain",
  projectId: "your-projectId",
  storageBucket: "your-storageBucket",
  messagingSenderId: "your-messagingSenderId",
  appId: "your-appId",
  measurementId: "your-measurementId"
};

export const app = initializeApp(firebaseConfig);
export const analytics = getAnalytics(app);
export const firestore = getFirestore(app);
export const auth = initializeAuth(app, {
  persistence: getReactNativePersistence(ReactNativeAsyncStorage)

})
 

AWS Configuration

  1. Navigate to Config/aws.js.
  2. Add your AWS credentials:
import AWS from 'aws-sdk';

AWS.config.update({
    accessKeyId: 'your-access-key',
    secretAccessKey: 'your-secretAccessKey',
    region: 'your-aws-region',
});

export const s3 = new AWS.S3();
export const rekognition = new AWS.Rekognition();

Run the App

Start the development server:

npm run start