Skip to content

git-ashug/bookwise-lms-frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 bookwise-lms-frontend

Frontend of Bookwise App

last-commit repo-top-language repo-language-count

Built with the tools and technologies:

React TypeScript Okta Stripe Bootstrap

A modern, feature-rich Library Management System frontend built with React and TypeScript.


📋 Table of Contents


🌟 Overview

Bookwise LMS is a comprehensive library management system that allows users to browse, search, and check out books. It includes features for user authentication, book reviews, and a payment system for late fees. The frontend is built with React and TypeScript, providing a responsive and user-friendly interface for both library patrons and administrators.


✨ Features

  • 🔍 Browse and search for books
  • 👤 User authentication and authorization with Okta
  • 📖 Book checkout and return system
  • ⭐ Leave reviews and ratings for books
  • 💳 Payment system for late fees using Stripe
  • 📊 Admin dashboard for library management
  • 📱 Responsive design for mobile and desktop
  • 📨 Messaging system between users and administrators
  • 📚 Book quantity management for administrators

🛠️ Tech Stack

  • React 18
  • TypeScript 4
  • Okta for authentication
  • Stripe for payments
  • Bootstrap for styling
  • React Router for navigation

🚀 Getting Started

  1. Clone the repository
  2. Install dependencies: npm install
  3. Set up environment variables (see .env.example)
  4. Run the development server: npm start

For more detailed instructions, see the Create React App documentation.


🧩 Key Components

  • App.tsx: Main application component with routing
  • Navbar.tsx: Navigation component with authentication status
  • HomePage.tsx: Landing page with featured books and services
  • SearchBooksPage.tsx: Book search functionality
  • BookCheckoutPage.tsx: Book details and checkout process
  • ShelfPage.tsx: User's checked out books and history
  • PaymentPage.tsx: Late fee payment using Stripe
  • ManageLibraryPage.tsx: Admin dashboard for book and message management

🔐 Authentication

Authentication is handled using Okta. The OktaSignInWidget component is used for the login process, and the useOktaAuth hook is used throughout the application to manage authentication state.


💳 Payments

The payment system for late fees is implemented using Stripe. The PaymentPage component handles the payment process, including displaying the amount due and processing the payment.


🤝 Contributing

Contributions are welcome! Here are several ways you can contribute:


About

Frontend repository for Bookwise App

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published