Skip to content

Latest commit

 

History

History
106 lines (76 loc) · 3.39 KB

README.md

File metadata and controls

106 lines (76 loc) · 3.39 KB

UniLib: Library Management System

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.

🛠️ Tech Stack

Frontend

Next JS TypeScript React TailwindCSS

Backend & Database

Supabase PostgreSQL

Tools & Utilities

  • shadcn/ui - UI Components
  • React Hook Form - Form handling
  • Zod - Schema validation
  • date-fns - Date manipulation
  • ESLint - Code linting
  • Prettier - Code formatting

🚀 Getting Started

  1. Clone the repository
git clone
cd UniLib-v2
  1. Install dependencies
npm install
  1. 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
  1. Generate Prisma client
npm run generate
  1. Run the development server
npm run dev

To create changes to the database schema

  1. Make changes to the schema in schema.prisma
  2. Run npm run npm generate to generate the Prisma client
  3. Run npm run npm migrate to apply the changes to the database

Open http://localhost:3000 with your browser to see the result.

📁 Project Structure

├── 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

🤝 Contributing

We welcome contributions to improve the Library Management System! Here's how you can help:

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Please ensure you follow our coding standards and include appropriate tests.

📄 License

See the Apache License file for details.