Giter VIP home page Giter VIP logo

reactype's Introduction

ReacType

PRs Welcome License: MIT Release: 4.0

ReacType is a visual prototyping tool 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!

ReacType allows the user to visualize their application architecture dynamically, employing a drag-and-drop canvas display and a real-time component code preview. The user can create components and drag instances of these components, as well as HTML elements, onto the canvas. This architecture can then be exported as TypeScript application files to be used as a starter template for any repository.

New with version 4.0:

  • View dynamically created components/HTML elements in the component tree
  • View Typescript syntax for React
  • Code preview is fully editable (make changes before exporting project)
  • Create custom HTML elements
  • Improved UI experience
  • Implemented a comprehensive tutorial page with images

Download for MacOS, Windows, Linux.

  • Mac users: After opening the dmg and dragging ReacType into your Applications folder, ctrl+click the icon and select 'Open' from the context menu to run the app. This extra step is necessary since we don't have an Apple developer license yet.

  • Windows users: Install the application by running ReacType Setup 4.0.0.exe.

  • Linux users: Run the application as a super user in order to read and write files.

Gif of adding

How to use

  • Sign-in page: Sign up for an account, authenticate via Github/Facebook, or just continue as a guest.
  • Tutorial: Click ‘Tutorial’ from the help tab’s drop-down menu of the help tab at the top left of the application to view a tutorial page.
  • Start a project (only after authenticating): After you authenticate via Github/Facebook, create a new project, and select whether you want your project to be a Next.js or a classic React project. Also, save your project so that you can return to it at a later time.
  • Add Components: Create components on the left panel. Components can be associated with a route, or they can be used within other components.
  • Delete Components: Delete components after focusing on them from the right panel. Be careful when deleting components because all instances of the component will be deleted within the application/project.
  • Add Custom Elements: Create custom elements or add HTML elements that you are more familiar with into the application. Once the project is exported, the HTML tags generated in the code preview will function the way the label is supposed to work. You can create functionality for custom elements in a new file. The tutorial on HTML Elements explains more on how to do this.
  • Delete Elements: Delete elements by clicking on the ‘X’ button next to the element. Be careful when deleting elements because all elements will be deleted within the application/project.
  • Create instances on the canvas: Each component has its canvas. Create an example of an element or HTML element by dragging it onto the canvas. Div components are arbitrarily nestable and useful for complex layouts. Next.js projects have Link components to enable client-side navigation to other routes.
  • Component Tree: Click on the component tree tab next to the code preview tab to view the component tree hierarchy.
  • Update styling: Click on an element on the canvas to update basic styling using the right functions. As you create new instances and add styling, watch as your code dynamically generates in the bottom panel.
  • User preference features: Select a theme for the code preview to your liking and change the application’s lighting.
  • Export project: Click the “Export Project’ button to export the project’s application files into a Typescript file. The exported project is fully functional with Webpack, Express server, routing, etc., and will match what’s mocked on the canvas.

Contributors

Aaron Bumanglag @akbuma

Adam Singer @spincycle01

Andrew Cho @andrewjcho84

Brian Han @brianjshan

Charles Finocchiaro @null267

Chelsey Fewer @chelseyeslehc

Christian Padilla @ChristianEdwardPadilla

Diego Vazquez @diegovazquezny

Eliot Nguyen @ibeeliot

Fredo Chen @fredosauce

Jesse Zuniga @jzuniga206

Jin Soo Lim @jinsoolim

Mitchel Severe @mitchelsevere

Natalie Vick @natattackvick

Nel Malikova @gmal1

Sean Sadykoff @sean1292

Shlomo Porges @shlomoporges

Sophia Huttner @sophjean

Stormi Hashimoto @stormikph

Tolga Mizrakci @tolgamizrakci

Tony Ito-Cole @tonyito

Tyler Sullberg @tsully

To Run Your Own Version

  • Fork and Clone Repository.
  • Open project directory
  • Install dependencies
npm install
  • To run the production build
npm run prod
  • To run the development build
npm run dev
  • 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 also select "Continue as guest" on the log-in page of the app to not use any features that rely on the server (authentication and saving project data.)

To Run Your Exported Next.js Project

  • 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

License

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

reactype's People

Contributors

christianedwardpadilla avatar andrewjcho84 avatar tonyito avatar sean1292 avatar jzuniga206 avatar ibeeliot avatar tolgamizrakci avatar shlomoporges avatar diegovazquezny avatar spincycle01 avatar stormikph avatar tsully avatar brianjshan avatar fredosauce avatar jinsoolim avatar ryleysill93 avatar akbuma avatar chelseyeslehc avatar null267 avatar dependabot[bot] avatar severecodes avatar gmal1 avatar natattackvick avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.