Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 96 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,109 @@
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
<div align="center">

## Getting Started
# 🔐 Identa
### Unified NFC-based Smart Campus SaaS Platform

First, run the development server:
[![Status](https://img.shields.io/badge/Status-In%20Development-yellow?style=for-the-badge)](https://identa-nine.vercel.app/)
[![Frontend](https://img.shields.io/badge/Frontend-React-61DAFB?style=for-the-badge&logo=react&logoColor=black)](https://reactjs.org/)
[![Backend](https://img.shields.io/badge/Backend-FastAPI-009688?style=for-the-badge&logo=fastapi&logoColor=white)](https://fastapi.tiangolo.com/)
[![License](https://img.shields.io/badge/License-Academic-lightgrey?style=for-the-badge)](LICENSE)

```bash
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
```
<p align="center">
<b>Canteen Payments</b> • <b>Attendance Management</b> • <b>Library Automation</b>
</p>

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
[🔗 **Live Demo**](https://identa-nine.vercel.app/)

You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
</div>

This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
---

## Learn More
## 🚀 About Identa

To learn more about Next.js, take a look at the following resources:
**Identa** is a **Software-as-a-Service (SaaS)** solution designed to modernize campus operations using **NFC-based student identification**. It enables educational institutions to replace fragmented and manual processes with a **single, centralized platform**.

- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
By utilizing NFC-enabled ID cards and a web-based system, Identa integrates critical campus utilities into one seamless experience.

You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
---

## Deploy on Vercel
## 🎯 The Problem vs. The Solution

The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
| Current Landscape ❌ | The Identa Solution ✅ |
| :--- | :--- |
| **Disconnected Systems:** Cash, manual registers, and standalone software. | **Unified Platform:** A single identity for all campus interactions. |
| **Inefficiency:** Long queues and slow manual data entry. | **Speed:** Tap-and-go transactions and instant logging. |
| **Data Fragmentation:** Student data scattered across multiple ledgers. | **Centralized Data:** Real-time synchronization across all modules. |
| **Proxy Attendance:** Manual roll calls are prone to manipulation. | **Secure Auth:** Physical presence verification via NFC. |

Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
---

## 🧩 Modules

<div align="center">

| 🥪 **Canteen Module** | 🧑‍🏫 **Attendance Module** | 📚 **Library Module** |
| :--- | :--- | :--- |
| **Cashless Transactions**<br>Digital wallet system replacing cash. | **One-Tap Marking**<br>Students tap their card to mark presence. | **Smart Issue/Return**<br>NFC-based tracking of book loans. |
| **Tap-to-Pay**<br>Instant deduction using NFC. | **Time-Bound Validation**<br>Prevents marking outside class hours. | **Student Mapping**<br>Links specific Book IDs to Student UIDs. |
| **Transaction Logging**<br>Detailed history for students/admins. | **Reporting**<br>Automated generation of sheets. | **Due Dates**<br>Automated tracking of return deadlines. |

</div>

---

## 🧰 Tech Stack

| Component | Technology | Description |
| :--- | :--- | :--- |
| **Frontend** | ![React](https://img.shields.io/badge/React-20232A?style=flat&logo=react&logoColor=61DAFB) | HTML, CSS, JS hosted on Vercel |
| **Backend** | ![FastAPI](https://img.shields.io/badge/FastAPI-005571?style=flat&logo=fastapi) | Python-based high-performance API |
| **Database** | ![SQLite](https://img.shields.io/badge/SQLite-07405E?style=flat&logo=sqlite&logoColor=white) | Development (PostgreSQL planned for prod) |
| **Hardware** | ![NFC](https://img.shields.io/badge/NFC-Hardware-blue?style=flat) | USB NFC Reader (UID-based identification) |

---

## 🔐 Security & Privacy

We prioritize student data privacy through a **"Zero-Knowledge Token"** approach:

> 🛡️ **1. No Sensitive Data on Cards** > The NFC card stores *only* a unique identifier (UID). No names, balances, or photos are written to the card.

> 🛡️ **2. Backend Validation** > All logic (checking balance, verifying identity) happens on the server, preventing card cloning exploits.

> 🛡️ **3. Role-Based Access (Planned)** > Strict separation between Admin, Canteen Staff, and Librarian views.

---

## 👥 Team

| Name | Role |
| :--- | :--- |
| **Jalaj** | 🏗️ Product Engineer |
| **Harman** | ⚙️ Backend Engineer |
| **Gauri** | 🎨 Product Designer & Documentation Lead |

---

## 📅 Project Status & Roadmap

**Current Status:** 🟡 **In Active Development** (Backend Implementation & NFC Integration)

- [x] **Project Inception & Architecture Design**
- [x] **Frontend UI/UX Implementation**
- [ ] **Backend API Development (FastAPI)**
- [ ] **NFC Reader Hardware Integration**
- [ ] **Database Migration (SQLite → PostgreSQL)**
- [ ] **Mobile Application** (Future Scope)
- [ ] **ERP Integration** (Future Scope)

---

## 📜 License

This project is developed as part of **Project-Based Learning (PBL)** and is intended for academic use.

<br>

<div align="center">
<sub>Built with ❤️ by the Identa Team</sub>
</div>