Skip to content

Husain-Malwat/LabManagementWebApp

 
 

Repository files navigation

Laboratory Management System

Screenshot 2024-08-12 150443

Overview

The Laboratory Management System is an open-source web application designed to streamline manage laboratory operations, create and enroll for courses,and perform bookings efficiently. This application provides features for managing lab inventory, managing lab users, making lab bookings, issue/return any resource. Built with Flask and MySQL, the system incorporates Golang for handling concurrency, ensuring that multiple users and operations can be managed simultaneously without performance degradation.

Features

  • Inventory Management: Track and manage lab equipment, chemicals, and supplies.
  • User Management: Manage user roles and permissions within the lab environment.
  • Google Authentication: Secure login using Google OAuth.
  • Auto-Generated Emails: Automatically send emails for issuing and returning lab resources.
  • Lab Bookings: Reserve lab equipment and resources for specific times.
  • Course Management: Create and enroll in courses designed for students.
  • Concurrency Support: Golang is utilized to efficiently manage concurrent operations.
  • Responsive Design: Accessible on various devices, including desktops, tablets, and smartphones.

Tech Stack

  • Backend:
    • Flask
    • Golang
  • Database:
    • MySQL
  • Frontend:
    • HTML5
    • CSS3
    • JavaScript

Installation

1. Clone the repository:

git clone https://github.com/yourusername/lab-management-system.git
cd lab-management-system

2. Create and activate a virtual environment:

python3 -m venv venv
source venv/bin/activate  # On Windows use `venv\Scripts\activate` 

4. Install the required dependencies:

pip install -r requirements.txt

5. Set up the MySQL database:

  • Create a new database for the application.
  • Update the database configuration in config.py.

6. Run the application:

flask run

7. Run the Golang concurrency service:

go run concurrency_service.go

8. Access the application:

Usage

  • Admin Panel:

    • Accessible to users with admin roles for managing inventory, users, and experiments.
  • Lab Users:

    • Can log in to view and manage experiments, update their progress, and view reports.

Contributing

We welcome contributions! Please follow these steps:

  • Fork the repository.
  • Create a new branch (git checkout -b feature-branch).
  • Make your changes.
  • Commit your changes (git commit -m 'Add some feature').
  • Push to the branch (git push origin feature-branch).
  • Open a Pull Request.

License

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 82.5%
  • Python 9.9%
  • CSS 7.4%
  • Other 0.2%