Skip to content

mnnxp/cdbs-app

Repository files navigation


Logo

CADBase Platform Frontend

CADBase is a digital platform for sharing 3D models, drawings, and engineering data. This frontend provides an interface for exploring, managing, and interacting with engineering components and companies.
View site · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Test
  5. Roadmap
  6. Contributing
  7. Repositories
  8. License
  9. Contact
  10. Acknowledgments

About The Project

Page Component Screen Shot

This platform facilitates the sharing and versioning of parts, while offering API access and seamless integration options.

There are many solutions for sharing 3D models, drawings and other engineering data. However, the CADBase platform has a number of distinctive features that improve product data management by offering an effective solution for both individual use and collaborative work in engineering and design.

Team

Since 2018, our platform has grown and evolved through the valuable contributions of Ivan Nosovsky, Xia TianHao (夏添豪), Julia Gerasimova, and several other contributors.

Our mission is to cultivate a collaborative community that drives innovation and turns ideas into quality engineering and design solutions.

We hope you enjoy using CADBase. We're currently seeking manufacturers interested in partnering with us and sharing valuable feedback to help us improve and grow together.

Key Features & Improvements

  • Discussion & Commenting: Comment on components, companies, and services to foster community engagement and quick feedback, enhancing collaboration.
  • Import/Export: Import component parameters and modifications directly through the website from Excel sheets to save time and reduce manual errors. Additionally, utilize APIs to efficiently handle large-scale bulk imports and exports of data.
  • Markdown & UI: Edit with Markdown and preview during the editing process, making content creation easier and providing clearer, well-formatted descriptions for documentation.
  • Integrations: Pre-built open-source integrations let you easily create add-ons and connect with other tools, streamlining workflows. No licensing fees for API access make expansion and customization simple and cost-effective.
  • Self-hosted: Deploying the platform yourself grants full control over its infrastructure, enabling you to tailor and optimize it precisely to meet your specific requirements.
  • Login-Free Access: Browse component pages without login for quick and hassle-free access to information.

Benefits for Individual Users

Mechanical engineers and inventors can leverage this platform to enhance their workflows with the following features:

  • Manage complex data dependencies, such as file sets for component modifications, to streamline work across CAD, CAE, CAM, and other systems
  • Access API functionalities and connect securely to the server using personal authorization tokens
  • Integrate seamlessly with various design and engineering tools, enabling extensive workflow automation
  • Utilize file versioning to revert to previous states, review changes

Our goal is to develop a versatile solution that enables efficient project management and seamless data sharing within engineering workflows, tailored to meet the needs of most engineers and creators.

If you're interested, we're also on YouTube CADBase Platform.

And if you're not interested in this site and its functionality, you can try to use the code base for your own projects. In any case, have peace and goodwill ;)

Integration Framework

Creating an ecosystem-agnostic environment to:

  • Bridge compatibility gaps between engineering tools
  • Enable seamless CAD, PLM, ERP, and supply chain interoperability
  • Eliminate manual conversion and vendor lock-in

Available Integrations

Solutions for integration with CADBase platform with our support:

We welcome contributions to new integrations!

Built With

Yew Logo Bulma Logo Three.js Logo
Other libraries
router yewtil bindgen logger instant lipsum log getrandom rand chrono dotenv_codegen lazy_static parking_lot cmark serde regex serde_json thiserror graphql_client wee_alloc web-sys wasm-bindgen-test toml js-sys console_error_panic_hook anyhow

Many thanks to all of you who have contributed to the projects listed above and to the projects listed in the Acknowledgments section! Your input has allowed us to make CADBase better and faster.

Getting Started

To start the frontend, you must perform the a few steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • Rust

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • Trunk

    # Install via homebrew on Mac, Linux or Windows (WSL).
    brew install trunk
    # Install a release binary (great for CI).
    # You will need to specify a value for ${VERSION}.
    wget -qO- https://github.com/thedodd/trunk/releases/download/${VERSION}/trunk-x86_64-unknown-linux-gnu.tar.gz | tar -xzf-
    # Install via cargo.
    cargo install --locked trunk

Installation

Note: Before performing step 2, check the correct settings of the environment in the file '.env'.

  1. Clone the repo
    git clone https://gitlab.com/cadbase/cdbs-app.git
  2. Build, watch & serve the Rust WASM app and all of its assets
    trunk serve

Usage

Open app at http://localhost:8080.

For API details: docs.cadbase.rs

Test

If you want to run tests, a few tests are located in the 'tests' folder.

Prerequisites

To run the tests, you will need to install the Playwright testing framework and its dependencies.

# Install Playwright
npm init playwright@latest
# Install browser binaries
npx playwright install
# Run tests
npx playwright test tests/slogan.spec.js

# or (if you prefer yarn)

# Install Playwright
yarn create playwright
# Install browser binaries
yarn playwright install
# Run tests
yarn playwright test tests/slogan.spec.js

Roadmap

Current State

  • File versioning system
  • 3D Viewer (STL, GCODE, GLTF/GLB, IFC via Three.js)
  • Search functionality
  • Multi-language support (English, Russian, Chinese)

In Progress

  • User guides, API examples, and integration tutorials
  • Performance optimizations and additional formats
  • Cleaner interface, improved navigation, and consistent design system

For software developers — Integrate your products with CADBase and offer your customers seamless on-premise engineering data management. Let's discuss this: in@cadbase.rs

See the open issues for a full list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Repositories

The code is distributed in several repositories so that people who want access to the code can get it.

We hope that everyone will be able to access the code published here.

Main

GitLab - https://gitlab.com/cadbase/cdbs-app

Mirrors

Codeberg - https://codeberg.org/mnnxp/cdbs-app

GitHub - https://github.com/mnnxp/cdbs-app

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Ivan Nosovsky - in@cadbase.rs

Xia TianHao - Sansx (GitHub)

Acknowledgments

About

This repository contains the CADBase web application, which helps users manage and share parts, 3D models, and other engineering files. The CADBase platform provides a scalable infrastructure for storing and organizing CAD data, allowing designers and engineers to work more efficiently in a 3D CAD environment.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages