Skip to content

akprojects2310/S3-Website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

156 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview of the S3 Library System

The S3 Library System is a library management platform that connects students and libraries globally, allowing students to reserve study spaces efficiently. The system is designed with simplicity, scalability, and user-friendliness in mind, focusing on providing an intuitive interface for both librarians and students. Below is a detailed description for a frontend contributor to understand the project's structure and basic functionality.


Primary Goals of the System

  1. Enable students to search and reserve seats in libraries.
  2. Provide librarians with tools to manage their library's floors, seats, and users.
  3. Offer analytics to librarians for tracking usage and performance.
  4. Ensure the UI/UX is responsive, consistent, and adheres to modern web design principles.

Key Features

1. User Roles

  • Librarian:
    • Manage libraries, floors, and seating arrangements.
    • View analytics to track usage.
    • Access user activity logs.
  • Student:
    • Browse libraries and available seats.
    • Reserve seats for self-study.
    • View personal booking history and account details.

2. Dashboard

The dashboard is divided into three key sections:

  • Analytics:
    • Displays key metrics such as the total number of students, available seats, booked seats, etc.
    • Provides simple charts or KPIs for quick insights.
  • User Activities:
    • Shows recent activities like new seat bookings or changes in library settings.
  • Quick Navigation:
    • Includes shortcuts to commonly accessed pages like "Manage Seats," "View Libraries," and "Reports."

3. Library and Seat Management

  • Librarians can:
    • Add and configure floors within a library.
    • Manage seat arrangements for each floor, including seat labels and status (e.g., available, reserved).
  • Students can:
    • Browse through libraries and view floor plans with seat availability.
    • Reserve a seat by selecting from a floor's layout.

4. User Profile

  • Student Profile:
    • Includes personal information, booking history, and preferences.
  • Librarian Profile:
    • Includes library information and system management tools.

5. Responsive Design

  • The system is fully responsive, providing seamless experiences across devices (desktop, tablet, mobile).
  • The frontend is built with ReactJS and styled using MUI (Material-UI), adhering to the defined light/dark theme.

Frontend Architecture

  1. Tech Stack:

    • ReactJS: The primary framework for building the UI.
    • MUI (Material-UI): Used for components and styling.
    • Axios: For API requests.
    • React Router: For handling navigation.
  2. Folder Structure:

    src/
    ├── components/       # Reusable UI components
    │   ├── Analytics/
    │   ├── Cards/
    │   ├── Navigation/
    │   ├── UserActivities/
    ├── pages/            # Individual pages
    │   ├── Dashboard.js
    │   ├── LibraryManagement.js
    │   ├── SeatBooking.js
    ├── hooks/            # Custom React hooks
    ├── utils/            # Helper functions
    ├── themes/           # Light and Dark theme definitions
    ├── App.js            # Entry point of the app
    └── Routes.js         # Routes configuration
    
  3. Components:

    • Analytics Cards: For displaying metrics.
    • Data Grids: For listing user activities and bookings.
    • Navigation Drawer: Provides access to different modules.
  4. Styling:

    • Uses MUI’s sx prop for styling, avoiding inline colors or fonts.
    • Adheres to the global theme setup (light and dark modes).
  5. API Communication:

    • The app interacts with a backend API via RESTful endpoints.
    • Example APIs:
      • GET /libraries: Fetch a list of libraries.
      • POST /seats/reserve: Reserve a seat.
      • GET /analytics: Retrieve analytics data.

How You Can Contribute

  • Build reusable and responsive UI components based on the existing design system.
  • Ensure all components are theme-compatible (no hardcoded styles).
  • Optimize pages for performance and accessibility.
  • Collaborate with backend developers to integrate API endpoints effectively.
  • Focus on improving the overall user experience, particularly for mobile users.

Development Guidelines

  1. Code Style:

    • Use ESLint for code linting.
    • Follow a consistent naming convention (e.g., camelCase for variables and PascalCase for components).
    • Write modular and reusable code.
  2. Git Workflow:

    • Follow a branch-based workflow (e.g., feature/dashboard-module).
    • Submit pull requests with clear descriptions.
  3. Theming and Styling:

    • Always use the theme for colors and typography.
    • Avoid inline styles; use sx or classes.
  4. Testing:

    • Ensure components are tested across different screen sizes.
    • Write unit tests for critical components.

About

The S3 Library System is a library management platform that connects students and libraries globally, allowing students to reserve study spaces efficiently. The system is designed with simplicity, scalability, and user-friendliness in mind, focusing on providing an intuitive interface for both librarians and students.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages