Skip to content

All new modules with new ui and new features#29

Open
sogalabhi wants to merge 285 commits intoosdag-admin:winter24from
sogalabhi:revamp-from-21-09
Open

All new modules with new ui and new features#29
sogalabhi wants to merge 285 commits intoosdag-admin:winter24from
sogalabhi:revamp-from-21-09

Conversation

@sogalabhi
Copy link

No description provided.

faran4 and others added 30 commits August 21, 2025 14:30
- Updated database connection parameters in `populate_database.py`, `update_sequences.py`, and `postgres_credentials.py` for integration with the new PostgreSQL database.
- Removed error checking code in `inputData_view.py` for now(works without login).
- Added new  corecomponents for the UI: `DockTemplatePage`, `InputDockTemplate`, `InputField`, `MainNavBar`, `MiddleDockTemplate`, and `OutputDockTemplate` to improve the structure and functionality of the application.
- Introduced CSS styles for the new components to ensure a cohesive design across the application.
- Deleted DockTemplatePage, InputDockTemplate, InputField, MainNavBar, MiddleDockTemplate, OutputDockTemplate components.
- Removed core_styles.css as it contained styles for deleted components.
- Updated BeamBeamEndPlate to change design module name in createDesign function.
- Refactored LoginPage for improved readability and consistency.
- Enhanced ModuleReducer and ModuleState to prevent direct state mutations and improve data handling.
- Updated database connection parameters in `populate_database.py`, `update_sequences.py`, and `postgres_credentials.py` for integration with the new PostgreSQL database.
- Removed error checking code in `inputData_view.py` for now(works without login).
- Added new  corecomponents for the UI: `DockTemplatePage`, `InputDockTemplate`, `InputField`, `MainNavBar`, `MiddleDockTemplate`, and `OutputDockTemplate` to improve the structure and functionality of the application.
- Introduced CSS styles for the new components to ensure a cohesive design across the application.
- Updated database connection parameters in `populate_database.py`, `update_sequences.py`, and `postgres_credentials.py` for integration with the new PostgreSQL database.
- Removed error checking code in `inputData_view.py` for now(works without login).
- Added new  corecomponents for the UI: `DockTemplatePage`, `InputDockTemplate`, `InputField`, `MainNavBar`, `MiddleDockTemplate`, and `OutputDockTemplate` to improve the structure and functionality of the application.
- Introduced CSS styles for the new components to ensure a cohesive design across the application.
- Removed duplicate route for BoltedToEndPage in App.jsx.
- Updated default selected profile in BoltedToEndPage from "Back to Back Angles" to "Angles".
- Changed member designation default value from "MB 300" to "All".
- Simplified parameter construction in BoltedToEndPage with hardcoded values for bolts and materials.
- Enhanced member designation selection logic to include "All" and dynamically populate based on selected profile.
- Added angleList and channelList to ModuleReducer and ModuleState for better state management.
- Introduced a new .osi file with predefined bolt and member parameters.
- Added debug print statements in Angle class for tracing database connection and attribute assignment.
- Updated CADGeneration view to include new session type for Tension Member Bolted Design.
- Enhanced CADDownload API to handle tension member session cookies.
- Integrated tension member bolted connection in design report CSV generation.
- Modified input data handling for tension member bolted design to return a formatted bolt list.
- Cleaned up output view for tension member bolted design by removing unnecessary print statements.
- Adjusted CAD model creation logic to accommodate new section types for tension members.
- Updated common logic for tension member design to reflect changes in module handling.
- Removed unused CSS styles from App.css to streamline the codebase.
- Introduced TensionDropdownMenu component for better dropdown management in the UI.
- Updated BoltedToEndPage to utilize the new TensionDropdownMenu and reflect changes in design preferences.
- Enhanced rendering logic in the Model component to include geometry for Member and Endplate sections.
- Fixed reducer logic to correctly set bolt diameter list from the action payload.
- Replaced BoltedToEndPage with a new BoltedToEnd component for improved structure.
- Updated routing to reflect the new component organization.
- Removed unused CSS styles and components related to the previous implementation.
- Enhanced input handling and state management for the Tension Member module.
- Introduced new configuration files for better modularity and maintainability.
- Updated camera settings for the Tension Member view.
- Cleaned up print statements and debug logs for a cleaner codebase.
- Introduced a new BoltedToEndPage component to improve structure and maintainability.
- Updated routing to reflect the new component organization.
- Enhanced input handling and state management for the Tension Member module.
- Added a new output dock component for displaying design results.
- Removed deprecated configuration files and cleaned up unused imports.
- Improved user interface for selecting section profiles and bolt parameters.
- Streamlined the design report generation process with updated data handling.
- Cleaned up codebase by removing unnecessary print statements and comments.
- Updated the generate_output function to include logging of output and return logs alongside output data.
- Refactored routing to utilize the new BoltedToEnd component for better organization.
- Introduced new configuration files for bolted tension member design, enhancing modularity.
- Added new output dock component for displaying design results.
- Implemented dynamic data fetching for angle and channel lists in the module state.
- Improved user interface for selecting section profiles and bolt parameters.
- Enhanced rendering logic to accommodate new geometries for tension members and endplates.
- Cleaned up codebase by removing unnecessary print statements and comments.
… support

- Removed session creation and deletion endpoints from the URL configuration.
- Updated various output view classes to eliminate session dependency and streamline input handling.
- Enhanced error handling and logging for module API interactions.
- Cleaned up code by removing unnecessary comments and print statements.
- Adjusted CAD generation logic to accommodate new stateless design approach.
- Improved overall structure for better maintainability and modularity.
- Updated import path for CoverPlateWelded to reflect new module structure.
- Removed unnecessary character from EngineeringModule component.
- Standardized quotation marks in InputSection component for consistency.
- Simplified JSX structure in InputSection for better readability.
…dling

- Updated CADGeneration API to accept GET requests and utilize session cookies for design session management.
- Enhanced error handling for session retrieval and module API interactions.
- Cleaned up print statements and improved logging for better debugging.
- Refactored common logic to streamline CAD model generation and output handling.
- Simplified component imports and removed unnecessary code in EngineeringModule for better readability.
- Updated module names in input handling to use hyphenated formats for consistency across various design modules.
- Improved logging in Tension_bolted class to provide clearer input value tracking.
- Refactored API endpoints to streamline input data processing and enhance error handling.
- Removed session management code from multiple components to support a stateless design approach.
- Cleaned up unnecessary print statements and comments for better code readability.
…Password Reset flows

- Improved validation for username, email, and password during signup and login processes.
- Added detailed error messages for various validation failures, including username length and email format.
- Implemented OTP generation and email verification for password reset functionality.
- Enhanced user feedback with success and error alerts in the UI.
- Refactored state management in UserContext to handle success and error types for better user experience.
- Cleaned up code for improved readability and maintainability.
…late connections

- Enhanced connection checks in CommonDesignLogic to support both KEY_DISP_FINPLATE and 'Fin-Plate-Connection'.
- Updated CAD generation API to replace 'EndPlate' with 'Plate' for consistency across modules.
- Refactored input validation in create_cad_model to align with new section naming conventions.
- Improved camera settings and view options for various design modules, ensuring better compatibility and user experience.
- Cleaned up code for better readability and maintainability, including removal of unnecessary comments and print statements.
- Updated import paths for FinPlate and CleatAngle components to reflect new module structure.
- Adjusted configuration imports in FinPlate and FinPlateOutputDock components for consistency.
- Cleaned up code for improved readability and maintainability.
- Updated connection checks in CommonDesignLogic to support both KEY_DISP_CLEATANGLE and 'Cleat-Angle-Connection'.
- Added detailed logging throughout the CleatAngle connection module for better debugging and tracking of input values.
- Refactored CleatAngle configuration to align with new naming conventions and improve input validation.
- Introduced a new CleatAngleOutputDock component for displaying design results.
- Cleaned up code for improved readability and maintainability, including removal of unnecessary comments and print statements.
- Updated reportGenerator_latex.py to support both old string format and new list format for logger messages, improving flexibility in logging.
- Enhanced connection checks in connection.py to accommodate additional module identifiers for Fin-Plate and End-Plate connections.
- Added default error handling in design_report_csv_view.py to ensure consistent behavior during report generation failures.
- Refactored App.jsx to streamline routing for various design modules, improving navigation and user experience.
- Updated ModuleState.jsx to pass additional parameters to createDesignReport, enhancing report generation capabilities.
- Improved ModulesCardLayout.jsx to handle module navigation more effectively, ensuring accurate routing based on user selections.
- Refactored SelectModulePage.jsx to utilize the updated TabbedModulePage component for better modularity and maintainability.
- Introduced the Simply Supported Beam design module, including input handling and output generation.
- Created API view for processing requests related to the Simply Supported Beam.
- Updated routing to include the new Simply Supported Beam component in the application.
- Added configuration files for input fields and output display specific to the Simply Supported Beam.
- Implemented a dedicated output dock component for rendering results.
- Enhanced the overall structure for better modularity and maintainability across the flexural member design modules.
- Cleaned up code and ensured consistency in naming conventions and file organization.
…ponents

- Added the Simply Supported Beam design module, including input handling and output generation.
- Created a dedicated API view for processing requests related to the Simply Supported Beam.
- Updated routing to integrate the new Simply Supported Beam component into the application.
- Developed configuration files for input fields and output display specific to the Simply Supported Beam.
- Implemented an output dock component for rendering results effectively.
- Enhanced modularity and maintainability across flexural member design modules.
- Cleaned up code for consistency in naming conventions and file organization.
…xpectations

- Changed output dictionary keys from "value" to "val" in various connection modules to ensure consistency with frontend requirements.
- Removed unnecessary print statements in the Tension_bolted class and other modules for cleaner code.
- Added debugging logs in the ModuleState and BaseOutputDock components to facilitate better tracking of output structures.
sogalabhi and others added 8 commits January 8, 2026 21:18
…modules

- Updated the CAD model directory creation logic in multiple adapter files to use a consistent path handling approach.
- Replaced os.mkdir with os.makedirs for improved directory creation, ensuring that parent directories are created as needed.
- Enhanced readability by defining the CAD models path in a variable before checking its existence.
… and new features

- Added a theme toggle button to the Header component for improved user experience.
- Implemented a profile dropdown in the Header for user account management.
- Enhanced EngineeringModule to detect mobile/desktop viewports and adjust dock visibility accordingly.
- Introduced new CAD toggle functionality for mobile, allowing users to manage CAD and logs visibility more effectively.
- Improved layout and responsiveness in EngineeringModule, ensuring a consistent experience across devices.
- Removed error emoji from print statements in various service files and input data handling for a cleaner log output.
- Updated error messages in the test file to maintain consistency and improve readability.
- Enhanced error handling in the DesignStatusModal to provide clearer feedback during the design workflow.
…gement

- Implemented Firebase Authentication middleware to handle user authentication and token verification.
- Updated UserAccount model to include a ForeignKey to the Django User model, storing Firebase UID as the username.
- Created custom permissions to check email verification status for user actions.
- Refactored authentication views to utilize Firebase for login and user management, removing legacy JWT handling.
- Enhanced frontend components to manage user authentication state and email verification prompts.
- Removed unused authentication-related code and simplified user state management in the client application.
- Changed ALLOWED_HOSTS to allow all origins for development purposes.
- Updated CORS settings to enable all origins and credentials for local testing.
- Added comprehensive documentation for new endpoint features, including design inputs and testing procedures.
- Introduced README files for core utilities and setup instructions, enhancing onboarding for new developers.
- Created detailed guides for testing shear connection modules and adding new modules to the project.
sogalabhi and others added 20 commits January 30, 2026 14:04
…nd improved output handling

- Introduced new classes for bolted and welded compression members, enhancing CAD capabilities.
- Updated the CLI to include new design options for compression members.
- Refactored output handling functions to improve CSV and report generation.
- Added utility functions for user document folder retrieval and path validation.
- Enhanced error handling and logging for better debugging during CAD operations.
- Updated the `set_osdaglogger` method calls across multiple modules to include an `id` parameter for improved logging context.
- Enhanced resource path retrieval in `Common.py` using helper functions for better compatibility and maintainability.
- Added new `__init__.py` files in the `data` and `ResourceFiles` directories to support package structure.
- Refactored image path handling in `fin_plate_connection.py` to utilize the new resource path functions, ensuring consistent access to resource files.
updated cad option for tablet UI
- Added logging functionality to the `dispatch` method in `CreateDesignReport` and `GenerateInitialReport` classes to track request details and errors.
- Updated permission classes to `AllowAny` for `CreateDesignReport`, `ParseReportSections`, and `CustomizeReport` APIs to allow unrestricted access.
- Implemented CSRF exemption for relevant API views to facilitate smoother request handling.
- Enhanced input validation and error handling in the `create_from_input` function for improved robustness.
- Refactored resource path handling in `reportGenerator_latex.py` to utilize a helper function for better compatibility.
…nents

- Changed API endpoint paths in `ProjectsListCard` and `useEngineeringService` to include the `api` prefix for consistency.
- Added `cadModelPaths` prop to `EngineeringModule` for enhanced CAD model management.
- Refactored `UnifiedDropdownMenu` to improve error handling and input validation, ensuring robust file handling and user feedback.
- Implemented null checks for input properties to prevent potential runtime errors and enhance stability.
…ling

- Removed redundant code related to LaTeX executable configuration
- Simplified the logic for locating the LaTeX environment
- Added import of the `sys` module for improved functionality in path handling.
- Added a new module for CAD image generation using headless rendering with Qt and OpenCASCADE.
- Integrated image generation into the design report workflow, ensuring 3D, front, top, and side views are created with accurate colors.
- Updated the requirements to include necessary dependencies for rendering.
- Introduced unit and integration tests for the new image generation functionality.
- Enhanced documentation to outline the image generation process and setup requirements.
- Introduced a `SimpleConnectionValidator` class for reusable input validation across simple connection modules.
- Added factory functions for creating specific validators for bolted and welded connections.
- Enhanced error handling with custom exceptions for missing keys, invalid input types, and range violations.
- Updated existing adapters to utilize the new shared validation system, reducing code duplication.
- Documented the validation system and its usage in the project documentation.
…dling

- Updated `SimpleConnectionViewSet` to return a "coming soon" message for modules without CAD support instead of an error.
- Improved error handling in CAD generation for modules, ensuring a consistent response structure.
- Integrated custom logger for better logging of errors and warnings in `butt_joint_bolted`, `butt_joint_welded`, `lap_joint_bolted`, and `lap_joint_welded` adapters.
- Added sample input documentation for simple connection modules to assist users in providing valid inputs.
- Refactored validation logic in input handling to ensure robustness and clarity.
…lted connections

- Implemented `create_cad_model` function in the `adapter.py` for both Butt Joint Bolted and Lap Joint Bolted modules to generate CAD models based on input parameters.
- Enhanced the `Service` class to include a static method `get_cad_model` for easy access to CAD model generation.
- Updated the output configuration to include relevant parameters for CAD models, ensuring proper integration with the existing system.
- Improved logging throughout the CAD generation process for better traceability and debugging.
- Refactored input handling to ensure compatibility with the new CAD generation features.
- Enhanced `create_cad_model` functions in the adapters for Butt Joint and Lap Joint connections to support new section mappings: Plate 1, Plate 2, Cover Plate, and Welds.
- Improved validation for section inputs to ensure compatibility with updated CAD options.
- Refactored model generation logic to handle individual plate and weld components more effectively.
- Updated file naming conventions to replace spaces with underscores for better compatibility.
- Enhanced logging for CAD generation processes to improve traceability and debugging.
- fixed coordinates of cad view
…e connections

- Added logic to handle "Weld" entries in hover dictionaries, ensuring "Welds" is populated when necessary.
- Updated output configuration labels for Plate Base Capacity and Utilization to reflect connected plate terminology.
- Integrated `create_cad_model` method into the Service classes for both Butt Joint and Lap Joint Welded connections, facilitating CAD model generation.
- Improved documentation for the new `get_cad_model` method, detailing input parameters and return values.
- Refactored `BASE_PLATE_CAD_SECTIONS` to include only relevant sections: Model, Column, and Plate.
- Enhanced `create_cad_model` function to support new CAD generation logic, including error handling and file writing for BREP and STL formats.
- Updated `basePlateConfig.js` to reflect changes in CAD options, removing unnecessary entries.
- Improved documentation for CAD model generation, clarifying input parameters and expected outputs.
Add Struts Bolted to End Gusset module
…nput flows

- Routing & project IDs: Normalize all design routes to use path-based :projectId and update EngineeringModule to resolve project IDs from the URL and normalize query-based links.

- Navigation guard: Fix history handling to avoid “operation is insecure” errors and preserve project IDs in the URL when blocking back navigation for unsaved work.

- Component re-org: Move shared engineering UI (logs, screenshot capture, design preferences, section modals) into modules/shared/components, relocate auth/homepage UI, and delete the legacy src/components folder.

- Firebase auth as single source: Unify auth checks through useAuth and utils/auth, remove duplicate onAuthStateChanged listeners, and rely only on Firebase + guest mode (userType) for authentication.

- Legacy user/input system removal: Remove UserProvider, UserContext, and UserAccount, along with legacy input-file flows (inputFilesLink, allInputValueFilesLength, api/user/saveinput/, api/user/obtain-input-file/), relying solely on projects + inputs_json.

- Design-report & JWT cleanup: Delete the deprecated createDesignReport API, clean up JWT-related comments, and ensure design reports only use the new multi-step flow via useDesignReport and DesignReportModal.

- Custom material gating: Replace localStorage("isLoggedIn") checks with isGuestUser() so only non-guest users can save custom materials to the database, while guests can still use local cache.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants