did
UniLib is a web-based university library system that uses machine learning and a vector database for smarter search and book management. It enhances accessibility, provides personalized recommendations, and modernizes traditional library operations, making it easier for students and faculty to find and manage academic resources efficiently.
- Search and browse books by title, author, or ISBN with ease.
- Advanced filtering options to categorize books efficiently.
- Real-time tracking of book availability.
- Comprehensive cover image management system.
- Detailed book information pages for better user engagement.
- Robust email/password authentication powered by Supabase.
- Role-based access control for secure user permissions.
- Protection of routes and API endpoints to ensure data security.
- Comprehensive user profile management.
- Effective session handling for a seamless user experience.
- Simplified and intuitive book checkout process.
- Automated due date management to streamline borrowing operations.
- Book reservation queue to manage demand.
- Efficient return processing system.
- Timely late return notifications for users.
- Full tracking of borrowing history for transparency and accountability.
- Fully responsive design optimized for all devices.
- Real-time updates for enhanced interactivity.
- Seamless loading states and error handling.
- Clean, intuitive interface for an exceptional user experience.
- shadcn/ui - UI Components
- React Hook Form - Form handling
- Zod - Schema validation
- date-fns - Date manipulation
- ESLint - Code linting
- Prettier - Code formatting
- Clone the repository
git clone
cd UniLib-v2
- Install dependencies
npm install
- Set up environment variables
Create a
.env.local
file in the root directory:
NEXT_PUBLIC_SUPABASE_URL=your-supabase-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key
- Generate Prisma client
npm run generate
- Run the development server
npm run dev
- Make changes to the schema in
schema.prisma
- Run
npm run npm generate
to generate the Prisma client - Run
npm run npm migrate
to apply the changes to the database
Open http://localhost:3000 with your browser to see the result.
├── src/
│ ├── app/ # Next.js app router pages
│ ├── components/ # Reusable UI components
│ ├── contexts/ # React contexts
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utility functions and configurations
│ └── types/ # TypeScript type definitions
├── public/ # Static assets
└── ...configuration files
We welcome contributions to improve the Library Management System! Here's how you can help:
- 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
Please ensure you follow our coding standards and include appropriate tests.
See the Apache License file for details.