A premium, modern web application for managing and analyzing library footfall data across multiple university libraries.
The Library Footfall Management System is a comprehensive solution designed to track, visualize, and analyze student attendance across 32 university libraries. It provides a seamless experience for both Librarians, who input daily data, and Managers, who oversee operations through powerful analytics dashboards.
Built with performance and aesthetics in mind, the application features a custom-designed, dark-mode-first UI that offers a premium user experience without relying on heavy CSS frameworks.
Real-time analytics and aggregated data view.
Simple, calendar-based data entry system.
Secure and elegant authentication portal.
- Centralized Dashboard: View real-time aggregated data from all 32 libraries.
- Advanced Analytics: Interactive charts and graphs (powered by Chart.js) to visualize trends, peak hours, and library usage.
- Data Management: Oversee library performance and identify low-attendance zones.
- User Management: Manage librarian accounts and assignments.
- Intuitive Data Entry: Simple, calendar-based interface for logging daily footfall.
- Historical View: Access past records and edit entries within allowed timeframes.
- Library-Specific Insights: View basic stats for their assigned library.
-
Frontend:
- Next.js 16 (App Router)
- React 19
- Chart.js & React-Chartjs-2 for data visualization
- Custom Premium CSS (No Tailwind, fully custom design system)
-
Backend:
- Next.js API Routes (Serverless functions)
- Prisma ORM for type-safe database access
-
Database:
- SQLite (Dev) / PostgreSQL (Production ready)
Follow these instructions to get a copy of the project up and running on your local machine.
Ensure you have the following installed:
-
Clone the repository
git clone https://github.com/yourusername/library-management.git cd library-management -
Install dependencies
npm install
-
Configure Environment Variables Create a
.envfile in the root directory and add your database connection string:DATABASE_URL="file:./dev.db"
-
Initialize the Database Run the Prisma migrations to set up your database schema:
npx prisma migrate dev --name init
-
Run the Development Server
npm run dev
Open http://localhost:3000 with your browser to see the result.
src/
├── app/ # Next.js App Router pages and layouts
│ ├── api/ # Backend API routes
│ ├── dashboard/ # Protected dashboard routes (Manager/Librarian)
│ ├── login/ # Authentication pages
│ └── globals.css # Global styles and CSS variables
├── components/ # Reusable UI components
├── lib/ # Utility functions and Prisma client instance
└── prisma/ # Database schema and migrations
This project uses a custom-built design system defined in globals.css. It features:
- Variables-based theming: Easy to adjust colors, spacing, and typography.
- Dark Mode: A deep, professional dark theme (
#0a0e1abackground). - Glassmorphism: Subtle transparency and blur effects for a modern feel.
- Responsive Grid: Custom grid utility classes for responsive layouts.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- 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.