Skip to content

A modern book management system built with React and Vite. Features include user authentication, admin dashboard, and book CRUD operations. Supports RTL design but is optimized for desktop only.

Notifications You must be signed in to change notification settings

keihanaf/Books-rtl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Book Management System

A modern, feature-rich book management system built with React and Vite. This system includes user authentication, an intuitive dashboard, and a sleek UI for efficient book management.


✨ Features

  • Secure User Authentication: JWT-based login and registration with persistent sessions.
  • Admin Dashboard: Comprehensive controls for managing books and user activity.
  • Book Management: Full CRUD functionality for books.
  • Powerful Search: Quickly find books with an optimized search tool.
  • Form Validation: Seamless input validation for error-free user experience.
  • Modern UI: Built with TailwindCSS for a clean and responsive design.
  • RTL Support: Fully compatible with right-to-left languages.
  • High Performance: Optimized with Vite for fast development and production builds.

🔎 Future Improvements

  • Responsive Design: Enhance mobile and tablet usability.
  • Advanced Dashboard Features: Add analytics and detailed user management.
  • Real-time Updates: Enable live data synchronization.
  • Mobile View Optimization: Streamline for smaller devices.

🚀 Tech Stack


📦 Installation

Backend Setup

Before setting up the frontend, ensure that you clone and run the backend project. The backend is developed using Node.js and Express and can be started with the following steps:

  1. Clone the backend repository:
    git clone <bookshop-api>
  2. Navigate to the backend directory:
    cd bookshop-api
  3. Install dependencies:
    npm install
  4. Start the backend server:
    npm start

Frontend Setup

  1. Clone the frontend repository:
    git clone https://github.com/keihanaf/Books-rtl.git
  2. Navigate to the project directory:
    cd book-management-system
  3. Install dependencies:
    npm install
  4. Create a .env file: Add the following environment variable in the root directory:
    VITE_BASE_URL=your_api_base_url
  5. Start the development server:
    npm run dev

🗼 Project Structure

src/
├── assets/       # Static assets (SVGs, images)
├── components/   # Reusable React components
│   ├── HOC/      # Higher Order Components
│   ├── modules/  # Modular components
│   └── templates/# Page templates
├── configs/      # Configuration files
├── context/      # React Context providers
├── hooks/        # Custom React hooks
├── layout/       # Layout components
├── pages/        # Page components
├── router/       # Routing setup
├── services/     # API services
├── styles/       # Global and scoped styles
└── utils/        # Utility functions

🔑 Key Features Explained

Authentication

  • JWT-based secure authentication.
  • Persistent login state with cookies.
  • Protected routes for authorized users.

Book Management

  • Pagination: Easily navigate through large book collections.
  • CRUD: Create, read, update, and delete books effortlessly.
  • Search: Quick and efficient book searching.

Dashboard

  • Admin Controls: Manage books and monitor user activity.
  • React Query Integration: Real-time data fetching and caching.
  • Interactive Modals: Streamlined UI for adding or editing books.

🎨 UI Components

  • Custom Modals: Dynamic and reusable modal system.
  • Loading Spinners: Indicate processing states.
  • Toast Notifications: Provide user feedback.
  • Data Tables: Display and manage tabular data.
  • Custom Inputs: Stylish and validated form fields.
  • SVG Icons: Enhance UI aesthetics.

🔧 Configuration

Key configuration files:

  • tailwind.config.js: TailwindCSS configuration.
  • vite.config.js: Vite build settings.
  • src/configs/api.js: API configuration and interceptors.
  • src/configs/reactQuery.js: Default React Query options.

⚠️ Current Limitations

  • Desktop-Only Design: Not optimized for mobile or tablet devices.
  • Fixed Layouts: Some components lack responsive scaling.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. Key areas needing attention:

  • Responsive design implementation.
  • Mobile and tablet optimizations.
  • Enhanced dashboard features.

🔖 License

This project is licensed under the MIT License. See the LICENSE file for details.


Languages and Tools

🙏 Acknowledgments

Special thanks to the creators of these tools and libraries:

About

A modern book management system built with React and Vite. Features include user authentication, admin dashboard, and book CRUD operations. Supports RTL design but is optimized for desktop only.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages