Skip to content

Main #201

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 167 commits into from
Mar 29, 2023
Merged

Main #201

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
167 commits
Select commit Hold shift + click to select a range
864e027
updated major versions of Node, React, Webpack, Material, and Apollo
iancdavis Mar 6, 2023
e67d018
adds mvp functionality with reguards to tailwind
GarrettHutson Mar 7, 2023
50460f6
removes node sass
GarrettHutson Mar 7, 2023
0410b57
Merge branch 'merge/test' into dev-dep
GarrettHutson Mar 7, 2023
63c49c2
Merge pull request #1 from oslabs-beta/dev-dep
mdunnmon Mar 7, 2023
fee40ab
adds further functionality to the tailwind code generator
GarrettHutson Mar 8, 2023
769e869
makes tailwind mode fully functional
GarrettHutson Mar 8, 2023
af25ae0
Merge pull request #3 from oslabs-beta/feature/tailwind
mdunnmon Mar 8, 2023
c9d2fb1
apollo updated from v2 to v3
iancdavis Mar 8, 2023
93f841b
upgraded graphql from v15 to v16, and removed express-gql(was causing…
iancdavis Mar 8, 2023
5ffba99
apollo successfully migrated from v3 to v4
iancdavis Mar 8, 2023
a8de3ca
removed nestjs/graphql, it was not longer in use
iancdavis Mar 8, 2023
2ba0813
updated apollo/federation
iancdavis Mar 8, 2023
3d8299b
code migration for apollo v4 error handling syntax
iancdavis Mar 8, 2023
ac0b8d5
change error handlign syntax to apollo v4 standards
iancdavis Mar 8, 2023
63ea463
Installed redux toolkit and started dark mode migration
mdunnmon Mar 8, 2023
2640aa1
node upgraded to v19.x, and npm to v9.x
iancdavis Mar 8, 2023
1cf01c5
merge updates
mdunnmon Mar 8, 2023
5b5ebcc
Merge pull request #4 from oslabs-beta/mike/rtkinstall
Yoheze Mar 9, 2023
206a45f
Can now see element name on canvas when dragged in
mdunnmon Mar 9, 2023
8cb6fb2
state migration of context and code preview progress
GarrettHutson Mar 10, 2023
5f8a9e6
fix bugs related to ES module vs commonJS conflicts. Apollo server v4…
iancdavis Mar 10, 2023
85ef1ec
fixes more context slice bugs
GarrettHutson Mar 10, 2023
e97402d
fixes small bugs realted to context reducer
GarrettHutson Mar 11, 2023
b73ed63
Merge pull request #5 from oslabs-beta/feature/RDTK
mdunnmon Mar 11, 2023
4151646
Merge branch 'dev' into ian/feature/working-with-react17
iancdavis Mar 11, 2023
f92a274
Merge branch 'dev' into mike/darkmodehtml
mdunnmon Mar 11, 2023
a91ecb7
Merge pull request #6 from oslabs-beta/mike/darkmodehtml
iancdavis Mar 11, 2023
b82c233
Merge branch 'dev' into ian/feature/working-with-react17
iancdavis Mar 11, 2023
dae349f
Merge pull request #7 from oslabs-beta/ian/feature/working-with-react17
mdunnmon Mar 11, 2023
3ba6eca
Altered dark mode useSelector verbiage. Started adding componentSlice
mdunnmon Mar 11, 2023
d1208a0
testing appState creation
mdunnmon Mar 13, 2023
2cf0aae
Github and Google Oauth
Yoheze Mar 13, 2023
329df78
merge dev with new Oauth features
Yoheze Mar 13, 2023
0ef2842
Merge pull request #8 from oslabs-beta/Yoheze/Oauth
iancdavis Mar 13, 2023
227862a
additions to change focus migration
GarrettHutson Mar 13, 2023
0f4824d
Moved over change focus
mdunnmon Mar 13, 2023
2f5e9b6
continues the migration of component reducer to redux toolkit
GarrettHutson Mar 13, 2023
17c1271
Merge branch 'mike/statecontexttest' of https://github.com/oslabs-bet…
GarrettHutson Mar 13, 2023
292125e
Moved change position
mdunnmon Mar 13, 2023
eca996e
migrates more state management to redux toolkit
GarrettHutson Mar 13, 2023
855d9db
Merge branch 'mike/statecontexttest' of https://github.com/oslabs-bet…
GarrettHutson Mar 13, 2023
4b9da3b
more cases being switched over to the appStateSlice. Up to undo/redo
mdunnmon Mar 13, 2023
8fc396d
more toolkit migration
GarrettHutson Mar 13, 2023
6a7189e
Merge branch 'mike/statecontexttest' of https://github.com/oslabs-bet…
GarrettHutson Mar 13, 2023
b96fe5f
moved add passedinprops
mdunnmon Mar 13, 2023
c9f7548
finished moving reducers to appStateSlice
mdunnmon Mar 14, 2023
c17d37a
removed use of statecontext
mdunnmon Mar 14, 2023
ebc39dd
commented out componentReducer
mdunnmon Mar 14, 2023
846c4c5
fixs bugs related to logging in and logging out
GarrettHutson Mar 14, 2023
c3fb56f
commented out signup theme
mdunnmon Mar 14, 2023
86266a3
Merge branch 'garrett/statecontexttest' of https://github.com/oslabs-…
mdunnmon Mar 14, 2023
02efa7c
fixes the issue with guest loggin
GarrettHutson Mar 14, 2023
cdd3024
Merge branch 'garrett/statecontexttest', remote-tracking branch 'orig…
mdunnmon Mar 14, 2023
64415dd
fixes a couple payloads and ignores some actions in the configure store
GarrettHutson Mar 14, 2023
321d1a7
Merge pull request #9 from oslabs-beta/garrett/allstate
GarrettHutson Mar 14, 2023
a5761da
removes console log from app.tsx
GarrettHutson Mar 15, 2023
d832222
fixes snapshotfunc in canvas
GarrettHutson Mar 15, 2023
4a0a937
Merge pull request #10 from oslabs-beta/garrett/allstate
GarrettHutson Mar 15, 2023
36d1aaa
Merge branch 'allstate' of https://github.com/oslabs-beta/ReacType-v1…
GarrettHutson Mar 15, 2023
9ce826b
start of websocket functionality (dark mode)
Yoheze Mar 15, 2023
e150262
altered payloads for allState reducers
mdunnmon Mar 15, 2023
1cdf7a7
Merge branch 'allstate' into mike/allstate
mdunnmon Mar 15, 2023
7db34ab
fixes generate code and drag and drop addchild issues
GarrettHutson Mar 15, 2023
c84efb5
Merge pull request #11 from oslabs-beta/garrett/allstate
GarrettHutson Mar 15, 2023
c760bab
Merge branch 'allstate' into mike/allstate
mdunnmon Mar 15, 2023
345c8b2
Saving small changes to look into containers
Yoheze Mar 15, 2023
ce2eba0
fixes the focus issue
GarrettHutson Mar 15, 2023
f7e5c46
Merge pull request #12 from oslabs-beta/garrett/allstate
GarrettHutson Mar 15, 2023
072dcc5
updated branch to match garrett's changes
mdunnmon Mar 15, 2023
4230fa2
Co-authored-by: Mike Dunnmon <[email protected]>
GarrettHutson Mar 16, 2023
5354706
fixes customization
GarrettHutson Mar 16, 2023
0cdcd47
Merge branch 'allstate' of https://github.com/oslabs-beta/ReacType-v1…
GarrettHutson Mar 16, 2023
ac765d5
can now nest functions. still working on full functionality
mdunnmon Mar 16, 2023
eb3228a
fixes some state migration isssues
GarrettHutson Mar 16, 2023
8eed16b
added params to addStateSlice generate codes
mdunnmon Mar 16, 2023
1dceff1
Merge branch 'allstate' into mike/allstate
mdunnmon Mar 16, 2023
18f1177
Merge pull request #13 from oslabs-beta/mike/allstate
mdunnmon Mar 16, 2023
e252420
added params to all generatecode and added params to dispatches
mdunnmon Mar 16, 2023
a6df67b
Merge pull request #14 from oslabs-beta/mike/allstate
mdunnmon Mar 16, 2023
08f3b49
Merge branch 'allstate' of https://github.com/oslabs-beta/ReacType-v1…
GarrettHutson Mar 16, 2023
be62c8c
fixes all return statements in appstateslice, fixes next.js and gatsb…
GarrettHutson Mar 16, 2023
97f004c
Merge pull request #15 from oslabs-beta/garrett/allstate
GarrettHutson Mar 16, 2023
a4882be
fixes the is loggedin issue when one clears the cnvas
GarrettHutson Mar 16, 2023
0e717b4
Merge pull request #16 from oslabs-beta/garrett/allstate
GarrettHutson Mar 16, 2023
2bd498e
partially fixes context drop down bugs
GarrettHutson Mar 16, 2023
9f7974b
Co-authored-by: Ian Davis <[email protected]>
GarrettHutson Mar 16, 2023
1dec398
Merge branch 'Yoheze/websockets' of https://github.com/oslabs-beta/Re…
GarrettHutson Mar 16, 2023
397aa02
fixes comma issue in classname and remove extra usesSelectors
GarrettHutson Mar 16, 2023
2865325
saving to pull new state management
Yoheze Mar 16, 2023
496f6e7
Merge branch 'allstate' of https://github.com/oslabs-beta/ReacType-v1…
GarrettHutson Mar 16, 2023
1b89c7c
fixes the display issue when assigning context to a component
GarrettHutson Mar 17, 2023
a0ceb47
Worked on making dark mode word correctly on context manager tab
mdunnmon Mar 17, 2023
925ab57
temporarily comments out theme stuff in project container
GarrettHutson Mar 17, 2023
7a0ff7f
Merge check
mdunnmon Mar 17, 2023
a93e904
Merge pull request #17 from oslabs-beta/mike/darkmodefixes
iancdavis Mar 17, 2023
5491354
docker container works
Yoheze Mar 17, 2023
168191c
makes big moves towards migrating the style context, many bugs remain…
GarrettHutson Mar 18, 2023
9224ff2
smalls deletions
GarrettHutson Mar 18, 2023
e61dfa5
final touches on style context migration
GarrettHutson Mar 18, 2023
93063de
cleans up some comments
GarrettHutson Mar 18, 2023
12488b2
Oauth and websockets work in container
Yoheze Mar 19, 2023
a31e96d
deleted alot of commented out old code
GarrettHutson Mar 20, 2023
507aaa5
"merge new redux with docker container logic"
Yoheze Mar 20, 2023
9f93c22
Co-authored-by: Mike Dunnmon <[email protected]>
GarrettHutson Mar 20, 2023
6b3c427
reverts back to older version of ContextAPI files in order to regain …
GarrettHutson Mar 20, 2023
d317236
Merge pull request #18 from oslabs-beta/garrett/stylecontext
Yoheze Mar 20, 2023
6227e52
Fixed bug where you would nest already created element
mdunnmon Mar 20, 2023
32df9e6
deletes some console.logs and fixes the manage seperators issue
GarrettHutson Mar 20, 2023
2747447
Merge pull request #19 from oslabs-beta/mike/nestingfixes
GarrettHutson Mar 20, 2023
6ab2949
Merge branch 'dev' of https://github.com/oslabs-beta/ReacType-v15 int…
GarrettHutson Mar 20, 2023
c181d23
Oauth, login, websockets, drag and drop, and other features are now w…
Yoheze Mar 20, 2023
c09ecb1
finishing touches to make the context text visible
GarrettHutson Mar 23, 2023
29565f4
Merge pull request #21 from oslabs-beta/contextmanagerstyles
Yoheze Mar 23, 2023
93b462c
save before merge with dev
Yoheze Mar 23, 2023
4758e6d
Merge branch 'dev' of https://github.com/oslabs-beta/ReacType-v15 int…
Yoheze Mar 23, 2023
3fc4f3c
Merge branch 'dev' of https://github.com/oslabs-beta/ReacType-v15 int…
GarrettHutson Mar 23, 2023
e331530
deletes many lines of old code from past groups and from our state ma…
GarrettHutson Mar 24, 2023
d43ce84
more clean up
GarrettHutson Mar 24, 2023
83d4d34
websockets huge update, still need to create rooms
Yoheze Mar 24, 2023
41e7144
Merge pull request #22 from oslabs-beta/Yoheze/websockets
mdunnmon Mar 24, 2023
0000203
deleted more dead code
GarrettHutson Mar 25, 2023
9bc5fb2
Merge branch 'dev' of https://github.com/oslabs-beta/ReacType-v15 int…
GarrettHutson Mar 25, 2023
7cc7d19
Merge pull request #23 from oslabs-beta/garrett/websockets
mdunnmon Mar 25, 2023
d8c84b1
switch base node version to decrease docker image size
iancdavis Mar 25, 2023
463d236
resolve merge of dev into ian/deployment
iancdavis Mar 25, 2023
4155ca5
merge dev with ian/deployment
iancdavis Mar 25, 2023
a83b613
revamped navbar
Yoheze Mar 25, 2023
a94c0a6
merge with dev
Yoheze Mar 25, 2023
042caf9
Merge pull request #24 from oslabs-beta/Yoheze/websockets
mdunnmon Mar 25, 2023
e2aefa4
Merge branch 'dev' into ian/deployment
iancdavis Mar 25, 2023
b6ce1ec
to check for possible merge errors
Yoheze Mar 25, 2023
4880f2d
convert dockerfile to three stage to shrink image size, and add serve…
iancdavis Mar 25, 2023
3704155
fully functioning websocket rooms
Yoheze Mar 27, 2023
a60bc0c
merge fully functional websockets with de v
Yoheze Mar 27, 2023
2496eb0
Merge pull request #26 from oslabs-beta/Yoheze/websockets
mdunnmon Mar 27, 2023
8ffd6e4
merge with most recent dev
mdunnmon Mar 27, 2023
59ef6e5
Deployment testing. Need to commit for zipping
mdunnmon Mar 27, 2023
34d8dd6
deployment testing. added dist folder to check
mdunnmon Mar 27, 2023
e1cb35a
testing deployment
mdunnmon Mar 27, 2023
1fb34f1
test again
mdunnmon Mar 27, 2023
3e0a763
altered dockerfile
mdunnmon Mar 27, 2023
9885716
went to stage 2. changed yml to not include nginx
mdunnmon Mar 27, 2023
589e529
added electron to git ignore
mdunnmon Mar 28, 2023
7302165
re-bundled
mdunnmon Mar 28, 2023
2fcee02
added a longer timeout to npm installs
mdunnmon Mar 28, 2023
c3381a0
increased time again. updated npm
mdunnmon Mar 28, 2023
c3b2d5c
more testing
mdunnmon Mar 28, 2023
c3190c7
changed gitignor
mdunnmon Mar 28, 2023
b097264
deployment push
mdunnmon Mar 29, 2023
e8c1db2
Merge pull request #27 from oslabs-beta/mike/ecr
GarrettHutson Mar 29, 2023
7b5a8d6
deployment updates to make cleaner code
mdunnmon Mar 29, 2023
783a698
Merge branch 'dev' into mike/deploymentchanges
mdunnmon Mar 29, 2023
aa9f13f
more cleanup for deployment
mdunnmon Mar 29, 2023
3ae8b7e
Merge pull request #28 from oslabs-beta/mike/deploymentchanges
GarrettHutson Mar 29, 2023
0dd46f4
Updated readme, change_log, and contributors
mdunnmon Mar 29, 2023
0ef1eb9
Merge pull request #29 from oslabs-beta/mike/contributions
Yoheze Mar 29, 2023
7c1ad60
Update README.md
mdunnmon Mar 29, 2023
fa2f11a
ReadMeGif
mdunnmon Mar 29, 2023
94328f7
readme
mdunnmon Mar 29, 2023
3a3e538
Added gif to readme
mdunnmon Mar 29, 2023
19434fd
Add files via upload
mdunnmon Mar 29, 2023
1c89af4
Update README.md
mdunnmon Mar 29, 2023
84c4f2f
Update README.md
mdunnmon Mar 29, 2023
0661f89
Final MergeMerge branch 'dev' of https://github.com/oslabs-beta/ReacT…
mdunnmon Mar 29, 2023
6f1ddf7
Merge pull request #30 from oslabs-beta/dev
iancdavis Mar 29, 2023
58411de
Final merges into main
mdunnmon Mar 29, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules
app/electron
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -496,4 +496,6 @@ server/rootCA.key
server/rootCA.pem
server/RootCA.srl



# End of https://www.gitignore.io/api/node,linux,macos,windows,visualstudio,yarn
35 changes: 35 additions & 0 deletions CHANGE_LOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,38 @@
<h1 align="center">ReacType Change Log</h1>
</p>

**Version 15.0.0 Changes**

Changes:<br>

- Developer Improvements:
- Redux Toolkit:
- Migrated state from a combination of useReducer/useContext and Redux to only using Redux Toolkit. This is the recommended modern approach to handling large state management in this sort of application. Enhances the developer experience by enabling the use of the Redux Devtools to debug, and see state/actions in real-time.
- Dependency Updates
- New developers can easily npm install without having to use an older version of node or using --legacy-peer-deps
- Updated to modern versions to take advantage of newer features
- User Features:
- Websockets:
- Users can now join rooms to collaborate in realtime
- Tailwind CSS:
- In the customization panel users can now choose between inline CSS and Tailwind. These changes are reflected in the live code preview.
- OAuth:
- Users may now log in using OAuth which enhances security, and makes sign in a breeze.
- Deployed Website:
- Containerized and deployed a working version of the application. Instead of having to download an application users may now interact live.

Recommendations for Future Enhancements:<br>

- Continue working on State Management. There are some changes that can be made to make the application cleaner. Right now the appStateSlice is a large file which houses a lot of the reducer functions. We believe there is a way to further modularize this to make it simpler to read, and iterate upon in the future.
- Convert to using Vite. While developing we ran into issues with webpack taking a long time to reflect changes. Vite is lightweight and enhances the developer experience.
- Expand Testing Coverage. Making a large move of state management made a lot of the testing innefective since it was based upon old ways.
- Refactor away from MUI. MUI is very opinionated and while creating components with it is easy it leaves a lot to be desired.
- Residual Bugs. While migrating state there are a few lingering bugs within the application. This process should be easier now with Redux Devtools availability, but we did not have time to go through every action and conduct thorough testing.

**Version 14.0.0 Changes**

Changes:<br>

- Added functionality & improvements:
- Event listeners:
- Added ability to assign event listeners to elements in the bottom customization tab
Expand All @@ -32,6 +61,7 @@ Changes:<br>
- Reusable component: The drag-and-drop feature for reusable components is now functioning smoothly and without bugs

Recommendations for Future Enhancements:<br>

- Add function content in the current event listeners' function skeleton.
- The code output formatting in generateCode.ts is currently difficult to read, and could be improved for better readability.
- Currently, the project uses two sets of state management tools: useReducer/useContext and Redux. useReducer/useContext is used for handling the customization state, and Redux for managing the code preview, context manager, and dark mode reducer state. However, there seems to be some confusion around how to integrate these two tools effectively. For instance, both tools are used for managing the code preview state, and changing the useReducer/useContext state would replace the corresponding redux state. Need to clean up the logic and find a solution to solve this issue.
Expand All @@ -41,27 +71,32 @@ Recommendations for Future Enhancements:<br>
**Version 13.0.0 Changes**

New Functionality:<br>

- Manage state locally: Users can now manage state dynamically within nested components using React Hooks within the state manager tab.
- Add/delete props: For a selected component, users can see a list of available props from the parent, add props, and delete props in case they are not - required later on.
- State/props flow: If state or props are deleted upstream, it will automatically update the state for its children components.
- Visualize state/props flow: Within the display sub-tab of the state manager tab, users can visualize an interactive tree diagram depicting the state initialized in the current component and passed down props from the parent component.

Enhancements:<br>

- Live code preview: Live rendering of code based on any changes in the state and dragging and nesting of components.
- Next.js & Gatsby compatibility: New state manager tab is now compatible with next.js and Gatsby.
- Tutorial: Tutorial is functional and has the latest guides to navigate through the newly added state management tab.

Deployment Updates:<br>

- Electron app is now available for Windows users.
- Web based version of the app is available on Heroku.

Bug Fixes:<br>

- User dashboard: The dashboard works now and shows private and shared projects with the ability for users to drop comments.
- Login/logout: Users can now signup/login/logout now on both development and production environments.
- Manage Projects: Github authenticated users are now able to create and save projects.
- Customization: Use State works as expected now within HTML elements.

What’s next:<br>

- Adding on click functionality within components. Goal: Make a fully functional tic-tac-toe app.
- Incorporating material ui into the components so that exported app has visually appealing components.
- Enabling auto save functionality when dragging and dropping components, and amending component state.
Expand Down
36 changes: 36 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Stage 1: Build
FROM node:19-alpine as build

# python: required dependency for node alpine, shrinks image size from 2.17GB to 1.67GB
RUN apk add --no-cache --virtual .gyp \
python3 \
make \
g++

WORKDIR /app

COPY package*.json ./

RUN npm install --no-install-recommends --fetch-retry-maxtimeout 500000

COPY . .

# Stage 2: Runtime
FROM node:19-alpine as runtime

WORKDIR /app

COPY --from=build /app/package*.json ./

RUN npm install --no-install-recommends --only=production --fetch-retry-maxtimeout 500000

COPY --from=build /app/.env .env
COPY --from=build /app/config.js ./config.js
COPY --from=build /app/server ./server
COPY --from=build /app/app/dist /app

EXPOSE 5656

ENV IS_DOCKER true

CMD [ "npm", "start" ]
18 changes: 18 additions & 0 deletions Dockerrun.aws.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"AWSEBDockerrunVersion": "1",
"Image": {
"Name": "035101486432.dkr.ecr.us-east-1.amazonaws.com/reactype-2stage:latest",
"Update": "true"
},
"Ports": [
{
"ContainerPort": "5656"
}
],
"Environment": [
{
"Name": "API_BASE_URL",
"Value": "Reactypev15-env.eba-mbvivk7k.us-east-1.elasticbeanstalk.com"
}
]
}
42 changes: 17 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
<img width="100" src="https://i.imgur.com/Yn70tqI.png">
<h1 align="center">ReacType </h1>
</p> -->

# ReacType

<!-- <p align="center">
Expand All @@ -14,27 +15,24 @@
[![ContributorShield][contributors]][contributors-url]
[![ForksShield][forks]][forks-url]
![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)
![Version: 14.0.0](https://img.shields.io/badge/version-14.0.0-orange)
![Version: 14.0.0](https://img.shields.io/badge/version-15.0.0-orange)

</div>
<!-- <p align="center">
<img width="1000" src="https://i.imgur.com/FPizsat.png">
</p> -->


<p align="center">
<img width="1000" src="https://i.imgur.com/FIX8skV.png">
</p>


<p align="center">
<img width="1000" src="https://i.imgur.com/jR53ySV.png">
<img width="1000" src="./resources/ReadMe.gif">
</p>


**ReacType** is a rapid prototyping tool built on Electron that allows users _visualize_ their application architecture dynamically, employing a _drag-and-drop canvas display_ and an interactive, _real-time component code preview_ that 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.io](https://reactype.io/) to learn more about the product.
Visit [reactype.dev](https://reactype.dev) to learn more about the product.

Follow [@ReacType](https://twitter.com/reactype) on Twitter for important announcements.

Expand All @@ -45,31 +43,30 @@ If you want to read about using ReacType, the [User Manual](https://reactype-1.h
### Installing

- **MacOS**
Download the latest [release](https://github.com/open-source-labs/ReacType/releases) <br>
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.
If you are given a warning that Apple could not scan the app. Please follow these [steps](https://support.apple.com/en-ca/HT202491)
Download the latest [release](https://github.com/open-source-labs/ReacType/releases) <br>
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.
If you are given a warning that Apple could not scan the app. Please follow these [steps](https://support.apple.com/en-ca/HT202491)

- **Windows**
Download the latest [release](https://github.com/open-source-labs/ReacType/releases)

Download the latest [release](https://github.com/open-source-labs/ReacType/releases)

## Changes with version 14.0.0
## Changes with version 15.0.0

- **Added event listeners**: Users can now add event listeners to elements in the customization tab and view a list of added events. The list can be edited to remove events, and the live code preview will show the events being added and updated.
- **Delete buttons added**: Delete buttons have been added to canvas components and elements for easier removal. Users can now delete elements or components directly by focusing on them and mouse-clicking the delete button.
- **Live code preview and component tree update**: When users drag-and-drop components and elements, the live code preview and component tree are automatically updated to reflect the changes in real-time.
- **Major UI enhancement**: The user interface has undergone a major change, including a sliding effect for the left and bottom panels to maximize user visibility. The styling has been unified and the display of the canvas hierarchy has been made more prominent for improved clarity.
- **Consolidated State Management**: Reactype was using mutliple methods of State Management. We consolidated this all to the modern version of Redux Toolkit to enhance the developer experience and make it easier to debug.
- **Major Dependency Updates**: No more workarounds required to get new developers up and running in the project. A simple npm install works as intended.
- **Websockets**: Users can now join rooms to collaborate on a project together in real time!
- **Fully Deployed Web Application**: To utilize these new features we have hosted the full application via AWS so users can easily use Reactype without a download.
- **And more:** See [change log](https://github.com/open-source-labs/ReacType/blob/master/CHANGE_LOG.md) for more details on what was changed from the previous versions as well as plans for upcoming features!

## (_New_) File Structure
## File Structure courtesy of Reactype version 14.0.0

Here is the main file structure:

<p align="center">
<img width="1000" src="https://i.imgur.com/RdK8QzW.jpg">
</p>
Please refer to the link: https://excalidraw.com/#json=JKwzVD5qx6lsfiHW1_pQ9,XJ6uDoehVu-1bsx0SMlC6w for more details.


## Run ReacType using CLI

- **Fork** and **Clone** Repository.
Expand All @@ -79,11 +76,6 @@ Please refer to the link: https://excalidraw.com/#json=JKwzVD5qx6lsfiHW1_pQ9,XJ6
```bash
npm install
```
- If there is a dependency issue during installation, try switching to Node version v16.0.0 and then install. If the dependency issue still persists, try using the `--legacy-peer-deps` flag instead.

```bash
npm install --legacy-peer-deps
```

- To run the production build

Expand All @@ -103,11 +95,12 @@ npm run test
npm run dev
```

- Note that a .env with DEV_PORT, and a NODE_ENV flag (=production or development) are needed.
- 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.)

- To run the development build of electron app

```bash
```bash
npm run dev
npm run electron-dev
```
Expand Down Expand Up @@ -144,7 +137,6 @@ Typescript, React.js, Redux, Javascript, D3.js, Node.js (Express), HTML, CSS/SAS
Here is the up to date [list](https://github.com/open-source-labs/ReacType/blob/master/contributors.md) of all co-developers of this product.
Please visit our [contribution documentation](https://github.com/open-source-labs/ReacType/blob/master/contribution_documentation.md) for more information on how you can contribute to ReacType!


## License

This project is licensed under the MIT License - see the [LICENSE.md](https://github.com/team-reactype/ReacType/blob/development/LICENSE.md) file for details.
Expand Down
6 changes: 3 additions & 3 deletions __tests__/enzyme.test.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { shallow} from 'enzyme';
import { configure } from 'enzyme';
// import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16'
import React from 'react';
import { DndProvider } from 'react-dnd';
Expand All @@ -17,8 +17,8 @@ import HTMLItem from '../app/src/components/left/HTMLItem';
import LeftContainer from '../app/src/containers/LeftContainer';
import AppContainer from '../app/src/containers/AppContainer';
import NavBar from '../app/src/components/top/NavBar';
import MenuItem from '@material-ui/core/MenuItem';
import Tab from '@material-ui/core/Tab';
import MenuItem from '@mui/material/MenuItem';
import Tab from '@mui/material/Tab';
import LoginButton from '../app/src/components/right/LoginButton';
import customizationPanel from '../app/src/containers/CustomizationPanel'

Expand Down
8 changes: 4 additions & 4 deletions app/electron/main.js → app/.electron/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ const {
const { resolve } = require('app-root-path');

// to install react dev tool extension
const {
default: installExtension,
REACT_DEVELOPER_TOOLS
} = require('electron-devtools-installer');
// const {
// default: installExtension,
// REACT_DEVELOPER_TOOLS
// } = require('electron-devtools-installer');
const debug = require('electron-debug');

// import custom protocol in protocol.js
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
54 changes: 27 additions & 27 deletions app/src/Dashboard/NavbarDash.tsx
Original file line number Diff line number Diff line change
@@ -1,27 +1,26 @@
import React, { useState, useContext } from 'react';
import {
withStyles, //added
createStyles,
makeStyles,
Theme,
} from '@material-ui/core/styles';
import AppBar from '@material-ui/core/AppBar';
import Avatar from '@material-ui/core/Avatar';
import Brightness3Icon from '@material-ui/icons/Brightness3';
import Brightness5Icon from '@material-ui/icons/Brightness5';
import Button from '@material-ui/core/Button';
import EventNoteIcon from '@material-ui/icons/EventNote';
import HomeIcon from '@material-ui/icons/Home';
import Toolbar from '@material-ui/core/Toolbar';
import Typography from '@material-ui/core/Typography';
import { Theme } from '@mui/material/styles';
import withStyles from '@mui/styles/withStyles';
import createStyles from '@mui/styles/createStyles';
import makeStyles from '@mui/styles/makeStyles';
import AppBar from '@mui/material/AppBar';
import Avatar from '@mui/material/Avatar';
import Brightness3Icon from '@mui/icons-material/Brightness3';
import Brightness5Icon from '@mui/icons-material/Brightness5';
import Button from '@mui/material/Button';
import EventNoteIcon from '@mui/icons-material/EventNote';
import HomeIcon from '@mui/icons-material/Home';
import Toolbar from '@mui/material/Toolbar';
import Typography from '@mui/material/Typography';
import { Link } from 'react-router-dom';
import { styleContext } from '../containers/AppContainer';
import Menu from '@material-ui/core/Menu';
import MenuItem from '@material-ui/core/MenuItem';
import SortIcon from '@material-ui/icons/Sort';
import StarBorderIcon from '@material-ui/icons/StarBorder';
import PersonIcon from '@material-ui/icons/Person';
import Menu from '@mui/material/Menu';
import MenuItem from '@mui/material/MenuItem';
import SortIcon from '@mui/icons-material/Sort';
import StarBorderIcon from '@mui/icons-material/StarBorder';
import PersonIcon from '@mui/icons-material/Person';
import greenLogo from '../public/icons/png/512x512.png';
import {setStyle} from '../redux/reducers/slice/styleSlice'
import { useSelector,useDispatch } from 'react-redux';

// NavBar text and button styling
const useStyles = makeStyles((theme: Theme) => createStyles({
Expand All @@ -47,12 +46,12 @@ const sortMethods = ['RATING', 'DATE', 'USER'];
// Drop down menu button for SORT PROJECTS
const StyledMenu = withStyles({
paper: {
border: '1px solid #d3d4d5'
border: '1px solid #d3d4d5',
}
})(props => (
<Menu
elevation={0}
getContentAnchorEl={null}
// getContentAnchorEl={null}
anchorOrigin={{
vertical: 'bottom',
horizontal: 'center'
Expand All @@ -77,7 +76,8 @@ const StyledMenuItem = withStyles(theme => ({
export default function NavBar(props) {
// TO DO: import setStyle
const classes = useStyles();
const { style, setStyle } = useContext(styleContext);
const style = useSelector(store => store.styleSlice);
const dispatch = useDispatch();
const toggling = () => setIsOpen(!isOpen);
// toggle to open and close dropdown sorting menu
const [isOpen, setIsOpen] = useState(false);
Expand Down Expand Up @@ -145,9 +145,9 @@ export default function NavBar(props) {
style={{minWidth: '113.97px'}}
endIcon={props.isThemeLight ? <Brightness3Icon/> : <Brightness5Icon/>}
onClick={() => {
!props.styles[0].backgroundColor
? props.styles[1]({ backgroundColor: '#21262D' }) //dark mode color
: props.styles[1]({ backgroundColor: null })
!style.backgroundColor
? dispatch(setStyle({ backgroundColor: '#21262D' })) //dark mode color
: dispatch(setStyle( null ))
props.isThemeLight ? props.setTheme(false) : props.setTheme(true);
}}
>
Expand Down
Loading