Skip to content

Commit 53ededf

Browse files
authored
Merge pull request #161 from oslabs-beta/master
ReacType v5.0.0
2 parents c39382e + f6989a3 commit 53ededf

File tree

115 files changed

+2632
-2046
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+2632
-2046
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,9 @@ typings/
108108
# dotenv environment variables file
109109
.env
110110

111+
# config file for db URI
112+
config.js
113+
111114
# parcel-bundler cache (https://parceljs.org/)
112115
.cache
113116

LICENSE.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2020 ReacType
3+
Copyright (c) 2021 ReacType
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
66

README.md

+35-28
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,58 @@
11
<p align="center">
2-
<img width="50" src=https://i.imgur.com/Z2aKWji.png?1>
2+
<img width="50" src="https://i.imgur.com/Yn70tqI.png">
33
<h1 align="center">ReacType </h1>
44
</p>
55

66
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/team-reactype/ReacType/pulls)
77
![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)
8-
![Release: 4.0](https://img.shields.io/badge/Release-4.0-white)
8+
![Version 5.0](https://img.shields.io/badge/Release-5.0-lightgrey.svg)
99

10-
**ReacType** is a visual prototyping tool for developers employing **React** component architecture alongside the comprehensive type checking of **TypeScript**.
11-
In other words, **you can draw prototypes and export React / Typescript code!**
10+
**ReacType** is a visual prototyping tool for developers employing **React** component architecture alongside the comprehensive type-checking of **TypeScript**.
11+
In other words, **you can draw prototypes and export React / TypeScript code!**
1212

13-
**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.
13+
**ReacType** allows users to _visualize_ their application architecture dynamically, employing a _drag-and-drop canvas display_ and a _real-time component code preview_. Users 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.
1414

15-
**New with version 4.0:**
1615

17-
- View dynamically created components/HTML elements in the component tree
18-
- View Typescript syntax for React
19-
- Code preview is fully editable (make changes before exporting project)
20-
- Create custom HTML elements
21-
- Improved UI experience
22-
- Implemented a comprehensive tutorial page with images
16+
**New with version 5.0:**
17+
18+
- Elements may be added to components in any location, rather than only at the bottom
19+
- Compatibility with Gatsby.js
20+
- Modernized and cleaner UI, including enhanced dark mode
21+
- Tutorial has been updated to reflect other modifications
2322

2423
Download for [MacOS](https://github.com/team-reactype/ReacType/releases), [Windows](https://github.com/team-reactype/ReacType/releases/), [Linux](https://github.com/team-reactype/ReacType/releases/).
2524

2625
- **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.
2726

28-
- **Windows users**: Install the application by running ReacType Setup 4.0.0.exe.
27+
- **Windows users**: Install the application by running ReacType Setup 5.0.0.exe.
2928

3029
- **Linux users**: Run the application as a super user in order to read and write files.
3130

32-
![Gif of adding](https://i.imgur.com/Ioqkr00.gif)
31+
![Gif of adding](https://i.imgur.com/d1oHiTm.gif)
3332

3433
### How to use
3534

36-
- **Sign-in page**: Sign up for an account, authenticate via Github/Facebook, or just continue as a guest.
37-
- **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.
38-
- **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.
39-
- **Add Components**: Create components on the left panel. Components can be associated with a route, or they can be used within other components.
40-
- **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.
41-
- **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.
42-
- **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.
43-
- **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.
44-
- **Component Tree**: Click on the component tree tab next to the code preview tab to view the component tree hierarchy.
45-
- **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.
46-
- **User preference features**: Select a theme for the code preview to your liking and change the application’s lighting.
47-
- **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.
35+
- **Sign-in page**: Sign up for an account, or just continue as a guest. Registered users enjoy additional project-saving functionality.
36+
- **Tutorial**: Click ‘Tutorial’ from the Help tab’s dropdown menu (at the top left of the application) to view a tutorial.
37+
- **Start a project (only after registration)**: Registered users can create a new project and select whether they want their project to be a Next.js, Gatsby.js, or classic React project. Also, registered users can save projects to return to them at a later time.
38+
- **Add Components**: Create components on the right panel. Components can be associated with a route, or they can be used within other components.
39+
- **Delete Components**: Delete components after focusing on them in the right panel. Be careful when deleting components: Upon deletion, all instances of the component will be removed within the application/project.
40+
- **Add Custom Elements**: Create custom elements or add provided HTML elements into the application. Once the project is exported, the HTML tags generated in the code preview will function as expected. You can specify functionality for custom elements in the code preview. The tutorial on HTML Elements explains more on how to do this.
41+
- **Delete Custom HTML Elements**: Delete custom HTML elements by clicking on the ‘X’ button adjacent to the element. Be careful when deleting custom elements: All instances of the element will be deleted within the application/project.
42+
- **Create Instances on the Canvas**: Each component has its own canvas. Add an element to a component by dragging it onto the canvas. Div components are arbitrarily nestable and useful for complex layouts. Next.js and Gatsby.js projects have Link components to enable client-side navigation to other routes.
43+
- **Component Tree**: Click on the Component Tree tab next to the Code Preview tab to view the component tree hierarchy.
44+
- **Update Styling**: Select an element on the canvas to update its basic style attributes on the right panel. As you create new instances and add styling, watch as your code dynamically generates in the code preview in the bottom panel.
45+
- **User Preference Features**: With the click of a button, toggle between light mode and dark mode, depending on your preference.
46+
- **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 is mocked on the canvas.
4847

4948
#### Contributors
5049

5150
[Aaron Bumanglag](https://www.linkedin.com/in/akbuma) [@akbuma](https://github.com/akbuma)
5251

5352
[Adam Singer](https://linkedin.com/in/adsing) [@spincycle01](https://github.com/spincycle01)
5453

54+
[Alex Wolinsky](https://www.linkedin.com/in/alex-wolinsky-80ab591b2/) [@aw2934](https://github.com/aw2934/)
55+
5556
[Andrew Cho](https://www.linkedin.com/in/andrewjcho84/) [@andrewjcho84](https://github.com/andrewjcho84)
5657

5758
[Brian Han](https://www.linkedin.com/in/brianjisoohan/) [@brianjshan](https://github.com/brianjshan)
@@ -72,6 +73,12 @@ Download for [MacOS](https://github.com/team-reactype/ReacType/releases), [Windo
7273

7374
[Jin Soo Lim](https://www.linkedin.com/in/jin-soo-lim-3a567b1b3/) [@jinsoolim](https://github.com/jinsoolim)
7475

76+
[Julie Wu](https://www.linkedin.com/in/jwuarchitect/) [@yutingwu4](https://github.com/yutingwu4)
77+
78+
[Linh Tran](https://www.linkedin.com/in/linhtran51/) [@Linhatran](https://github.com/Linhatran)
79+
80+
[Luke Madden](https://www.linkedin.com/in/lukemadden/) [@lukemadden](https://github.com/lukemadden)
81+
7582
[Mitchel Severe](https://www.linkedin.com/in/misevere/) [@mitchelsevere](https://github.com/mitchelsevere)
7683

7784
[Natalie Vick](https://www.linkedin.com/in/vicknatalie/) [@natattackvick](https://github.com/natattackvick)
@@ -114,9 +121,9 @@ npm run prod
114121
npm run dev
115122
```
116123

117-
- 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](https://github.com/open-source-labs/ReacType/blob/master/server/README.md). 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.)
124+
- 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](https://github.com/open-source-labs/ReacType/blob/master/server/README.md). 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.)
118125

119-
## To Run Your Exported Next.js Project
126+
## To Run Your Exported Next.js or Gatsby.js Project
120127

121128
- Open exported project directory
122129
- Install dependencies

__tests__/BottomTabs.test.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React, { useReducer} from 'react';
22
import '@testing-library/jest-dom';
3-
import { render, fireEvent, cleanup, screen } from '@testing-library/react';
3+
import { render, screen } from '@testing-library/react';
44

55
import BottomTabs from '../app/src/components/bottom/BottomTabs';
66
import StateContext from '../app/src/context/context';

__tests__/HTMLPanel.test.tsx

+4-4
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ function Test() {
2222
}
2323

2424

25-
test('Renders HTMLPanel component', () => {
25+
test('Renders HTMLPanel component properly', () => {
2626
render(
2727
<Test/>
2828
);
@@ -37,7 +37,8 @@ test('Renders HTMLPanel component', () => {
3737
expect(screen.getByText('Header 1')).toBeInTheDocument();
3838
expect(screen.getByText('Header 2')).toBeInTheDocument();
3939
expect(screen.getByText('Span')).toBeInTheDocument();
40-
})
40+
expect(screen.queryByText('separator')).toBe(null);
41+
});
4142

4243
test('Adds new custom element', () => {
4344
render(
@@ -54,5 +55,4 @@ test('Adds new custom element', () => {
5455
fireEvent.click(screen.getByDisplayValue('Add Element'));
5556

5657
expect(screen.getByText('Testing')).toBeInTheDocument();
57-
})
58-
58+
});

0 commit comments

Comments
 (0)