13

BookShelfX Library Management System

BookShelfX is a full-stack web application designed to simplify library management for librarians and enhance customer experience with automated processes and integrated tools.

BookShelfX: Library Management System

Overview

BookShelfX is a full-stack application developed as part of a technical assessment, aimed at streamlining library operations for librarians through automation and advanced management tools. The system includes user authentication and access control for librarians and customers.

Key Features

  • Library Management Tools: Efficient search, sorting, and filtering for inventory management.
  • Automated Notifications: Email notifications on rentals and returns to improve customer experience and reduce administrative load.
  • Book Listings & Checkout System: Detailed listings, checkout process, and customer reviews for easy interaction.
  • API Integrations: Utilizes Google Books API for book data, OpenAI API for recommendations, and Resend API for notifications.
  • Database Management: Manages data with PostgreSQL and Prisma ORM for reliability and scalability.

Tech Stack

  • Frontend: Next.js, TypeScript, MUI (Material-UI)
  • Backend: Next.js (API Routes)
  • Database: PostgreSQL, Prisma ORM
  • APIs: Google Books API, OpenAI API, Resend API
  • Deployment: Vercel

Setup & Development

Deployed via Vercel for CI/CD. Local setup instructions:

  1. Environment Setup: Ensure .env and .env.local files include necessary API keys and database URL.
    DATABASE_URL="your_postgres_url"
    GOOGLE_BOOKS_API_KEY="your_google_books_api_key"
    OPENAI_API_KEY="your_openai_api_key"
    RESEND_API_KEY="your_resend_api_key"
    
  2. Commands:
    cd ./bookshelfx_technicalassesment
    npm i
    npx prisma migrate dev
    npx prisma db seed
    npm run dev
    

Access & Documentation


This project demonstrates expertise in secure user management, Prisma-based database operations, and integrating multiple APIs to deliver a comprehensive library management solution.