Skip to content

open-source-labs/ReacType

Repository files navigation

StarShield ContributorShield ForksShield License: MIT Version: 20.0.0

JavaScript TypeScript NodeJS Express.js React Redux Socket.io Jest Babel Git MUI Electron.js MongoDB AWS Docker Vite

ReacType

ReacType is a React prototyping tool that allows users visualize their application architecture dynamically, employing an interactive drop and drag display with real-time component code preview and a collaboration room that features live video and chat functionality. Generated code can be exported as a React app for developers employing React component architecture alongside the comprehensive type-checking of TypeScript. In other words, you can draw prototypes and export React / TypeScript code!

Visit reactype.dev to learn more about the product.

Follow @ReacType on Twitter for important announcements.

Changes with Version 20.0.0

  • Collaboration Rooms: Official launch of v2 collaboration rooms - Now featuring a secure live collaborative chat room with video and cursor tracking functionality!
  • UI Updates: The UI now features a new logo, zoom and scroll functionality to the canvas, and numerous updates to styling to reflect a more modern and user friendly experience.
  • DX Updates: Migrated from WebPack to Vite, drastically reducing HMR time. Now deployed via Heroku instead of AWS.
  • Typescript Conversion: Typescript coverage is at 95%.
  • Cleanup: Removed unused code, fixed bugs, and made major performance improvements.
  • And more: See the change log for more details on what was changed from the previous versions, as well as plans for upcoming features!

Preview

Get a glimpse of how ReacType works!

File Structure of ReacType Version 20.0.0

Here is the main file structure:

Given to us courtesy of our friends over at React Relay

Run ReacType using CLI

  • Fork and Clone Repository.
  • Open the project directory.
  • Install dependencies.
npm install
  • To run the production build
npm run prod
  • To run tests
npm run test
  • To run the development build
npm run dev
  • Note that DEV_PORT, NODE_ENV flag (=production or development) and VIDEOSDK token are needed in the .env file.

  • Please note that the development build is not connected to the production server. npm run dev should spin up the development server from the server folder of this repo. For additional information, the readme is here. Alternatively, you can select "Continue as guest" on the login page of the app, which will not use any features that rely on the server (authentication and saving project data.)

  • To run the development build of electron app

npm run dev
npm run electron-dev

Run Exported App

  • Open exported project directory
  • Install dependencies
npm install
  • Build the app
npm run build
  • Start an instance
npm run start
  • Open browser and navigate to localhost at specified port

Stack

Typescript, React.js, Redux Toolkit, Javascript, ESM, Node.js (Express), HTML, CSS, MUI, GraphQL, Next.js, Gatsby.js, Electron, NoSQL, Webpack, TDD (Jest, React Testing Library, Playwright), OAuth 2.0, Websocket, SocketIO, Continuous Integration (Github Actions), Docker, AWS (ECR, Elastic Beanstalk), Ace Editor, Google Charts, React DnD, Vite

Contributions

Here is the up to date list of all co-developers of this product.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.