The FabLab Management System is a comprehensive solution designed to streamline the operations of fabrication laboratories (FabLabs). This system leverages a modern technology stack including React, Node.js, MongoDB, along with integration of the ChatGPT API for enhanced user support and QR Code functionalities for efficient equipment management. It caters to both users and administrators through separate interfaces, providing a range of features from equipment and subscription management to operation reports and personal user histories.
- Introduction
- Project Structure
- Technologies and Tools
- Features
- Development and Deployment
- Setup Instructions
- Additional Notes
- Contributors
- License
src
: Contains the source code for the React frontend.public
: Holds static files for the React app.ServeurChatGpt
: Node.js server for ChatGPT integration.ServeurStockage
: Node.js server for managing equipment and users.
- Frontend: React.js
- Backend: Node.js with Express.js
- Database: MongoDB
- ChatGPT API: Integrated for user support
- QR Code: For equipment management via mobile application scanning
- Version Control: Git
- User and Administrator Space
- Technology: React, Node.js
- Description: Separate interfaces with specific rights and functionalities.
- Equipment Management and Inventory
- Technology: React, Node.js, MongoDB
- Description: Manage equipment details including photos, descriptions, and statuses.
- Subscription and Lending Management
- Technology: Node.js, MongoDB
- Description: Handles user subscriptions, equipment loans, and histories.
- QR Code Management
- Technology: QR Code libraries
- Description: Enables equipment borrowing and returning through QR code scanning.
- Operation Reports
- Technology: Node.js, MongoDB
- Description: Generates reports on equipment and user activity.
- Personal History for Users
- Technology: Node.js, MongoDB
- Description: Provides users with their activity history within the FabLab.
- Demo Database
- Technology: MongoDB
- Description: A demo database for testing and demonstration purposes.
- Additional Features
- ChatGPT API Integration, Content Management System for articles and tutorials.
- Wireframes and Mockups: Use tools like Figma for UI/UX design.
- System Architecture: Follow the MVC pattern.
- Environment Setup: Configure Node.js, React, and MongoDB.
- ChatGPT API Feature: Integrate ChatGPT API for user support.
- Unit Testing: Utilize Jest for unit tests.
- Integration and Performance Testing: Conduct regular testing for quality and performance.
- Import the demo database into MongoDB.
- Ensure MongoDB is running.
- Update the database IP address in the
ServeurStockage
configuration. - Start the
ServeurStockage
server withnode app.js
. - Install any missing Node.js packages with
npm i
.
- Update the server IP address in the application configuration.
- Install missing packages with
npm install
.
- Run
npm start
from the project root. - HTTPS setup is automatic, with a shortcut command in
package.json
.
- OpenAI Integration: Install the OpenAI npm package and configure the
.env
file in theServeurChatGpt
directory with your API key. Avoid committing your API key to GitHub. Start theServeurChatGpt
server withnpm start
.
- Selenium Testing: Perform automated browser testing using Selenium.
Nolan CACHEUX.