Skip to content

Commit

Permalink
Front end (#69)
Browse files Browse the repository at this point in the history
* basic react app

you **probably** don't want to pull this yet. I'm just using guthub to get these files from my desktop to my laptop

* Created Basic Homepage for MS1

* Committing to show routing

* Good enough mock up of simulation builder

* Added RouteBuilder, to handle all of our routing

* Added docstrings

* Began work on Playerpage.js (#36)

Began work on Playerpage.js. The page still needs remodeled.

Co-Authored-By: Alex Louderback <[email protected]>

Co-authored-by: Alex Louderback <[email protected]>

* Added importable stylesheet file

* Mockup account (#41)

* Publishing mockup-login/signup branch

I mostly have the page mockup done and am publishing the branch for it.

* Publishing mockup-account

I am publishing the branch for the mockup of account.  Page is done but needs remodeling.   I didn't think I would be done this fast after the other branch, so merge this one after Login/Signup branch? I don't know if there would be any git conflicts that would delete something from the other branch. Anyway, solves #39

* Plugin playerpage (#42)

* Added simple schemas

* Playerpage mostly-sorta works now

* Removed some extra stuff

* Added response to playerpage

* Fixed imports

* Adding schema submodule (#43)

* Almost there

* Forgot to remove the old stuff

* Changed the color, code cleanup (#48)

* Changed the color, code cleanup

I changed the color, remodeled some buttons, and cleaned up some unnecessary code.

Co-Authored-By: caydenreynolds <[email protected]>

* Delete theme.html

We don't need this.

* Remodeled some more, add About Page

I've added the about page mockup, and edited alot of other pages to get rid of code that seemed to not be doing anything.  I did not mess with factorypage or playerpage as I didn't want to step on any toes.

Co-authored-by: caydenreynolds <[email protected]>

* Fixed navbar mobile problems (#46)

* Simul;ation Factory Start

Still need to finish splitting add event, prompt, and response

* Split response, prompt, event methods

Cards still aren't built

* Broken implementation of dialog box with lookup table

just moving between computers & using github to push changes. not functional. probably shouldve been working in my own branch anyways.

* Fixing up playerpage a bit.

Commented out some unused lines of code. Fixed some compiler warnings.  Edited the create simulation page to have textfields for the event and response buttons.  The six extra textfields for response is only temporary, we plan to add a way to dynamically add textfields.

* Added the dynamic buttons.

Added the dynamic buttons.

* Built table component

Ended up building my own spreadsheet from scratch because nothing was giving me what I wanted. Probably overengineered it, but its now more customizable than anything else out there. still need to add ability for users to add/delete rows

* Made the Add player, resource button dialogs

I've fixed an import and added player and resource adding dialogs, all we have to do is make it so they actually work.  There is also a wierd error where the compiler complains about /factorypage already existing whenever the moar_watches thing updates the page.

* Playerpage minimally functional (#54)

* Committing to change branch

* Playerpage works, kinda

* Env variables

Co-authored-by: Brandon Miller <[email protected]>

* Commiting to change branch

* Factory page creates simulations and frames

* Front end lookup table (#68)

* Begun work on importing excel files

I've begun cleaning up a bit by removing the table, and adding a dropbox instead.  The drag and drop doesn't work yet, BUT if you click on it you can select your file.  The contents of the file will then be outputted to the console log.  In the future we can split up the data and send it to the  proper place.

* Code Cleanup and Some Documentation

Cleaned up some imports, added some newlines to the end of files, added some comments to the files to document functionality.

* Edited Backend-Drop-Sim_schem

Getting ready to connect to backend.

* End-to-end functionality, with help from Brandon

* About Page

Did more with the about page.

Co-authored-by: Brandon Miller <[email protected]>

Co-authored-by: alouderback <[email protected]>
Co-authored-by: Brandon Miller <[email protected]>
  • Loading branch information
3 people authored Dec 3, 2020
1 parent 844f87d commit 35d7a95
Show file tree
Hide file tree
Showing 37 changed files with 2,305 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "simulationfactory/src/simulation-schema"]
path = simulationfactory/src/simulation-schema
url = https://github.com/CS481/simulation-schema.git
5 changes: 5 additions & 0 deletions increase_watches.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash
# Increases the maximum number of file system watches
# This solves problems with automatic recompiling
sudo sysctl fs.inotify.max_user_watches=524288
sudo sysctl -p
59 changes: 59 additions & 0 deletions simulationfactory/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Created by https://www.toptal.com/developers/gitignore/api/react,visualstudiocode
# Edit at https://www.toptal.com/developers/gitignore?templates=react,visualstudiocode

### react ###
.DS_*
*.log
logs
**/*.backup.*
**/*.back.*

node_modules
bower_components

*.sublime*

psd
thumb
sketch

### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace

### VisualStudioCode Patch ###
# Ignore all local history of files
.history

# End of https://www.toptal.com/developers/gitignore/api/react,visualstudiocode

package-lock.json
**/.eslintcache
68 changes: 68 additions & 0 deletions simulationfactory/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).

## Available Scripts

In the project directory, you can run:

### `npm start`

Runs the app in the development mode.<br />
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.

The page will reload if you make edits.<br />
You will also see any lint errors in the console.

### `npm test`

Launches the test runner in the interactive watch mode.<br />
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.

### `npm run build`

Builds the app for production to the `build` folder.<br />
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.<br />
Your app is ready to be deployed!

See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.

### `npm run eject`

**Note: this is a one-way operation. Once you `eject`, you can’t go back!**

If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.

Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.

You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.

## Learn More

You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).

To learn React, check out the [React documentation](https://reactjs.org/).

### Code Splitting

This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting

### Analyzing the Bundle Size

This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size

### Making a Progressive Web App

This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app

### Advanced Configuration

This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration

### Deployment

This section has moved here: https://facebook.github.io/create-react-app/docs/deployment

### `npm run build` fails to minify

This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify
38 changes: 38 additions & 0 deletions simulationfactory/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"name": "simulationfactory",
"version": "0.1.0",
"private": true,
"dependencies": {
"@material-ui/core": "^4.11.0",
"@material-ui/icons": "^4.9.1",
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.5.0",
"@testing-library/user-event": "^7.2.1",
"ajv": "6.12.5",
"contentful": "^7.14.6",
"react": "^16.13.1",
"react-dom": "^16.14.0",
"react-dropzone": "^11.2.4",
"react-router-dom": "5.2.0",
"react-scripts": "^4.0.0",
"xlsx": "^0.16.8"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
Binary file added simulationfactory/public/favicon.ico
Binary file not shown.
43 changes: 43 additions & 0 deletions simulationfactory/public/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<!--
manifest.json provides metadata used when your web app is installed on a
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<!--
Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build.
Only files inside the `public` folder can be referenced from the HTML.
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
<title>React App</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<!--
This HTML file is a template.
If you open it directly in the browser, you will see an empty page.
You can add webfonts, meta tags, or analytics to this file.
The build step will place the bundled scripts into the <body> tag.
To begin the development, run `npm start` or `yarn start`.
To create a production bundle, use `npm run build` or `yarn build`.
-->
</body>
</html>
25 changes: 25 additions & 0 deletions simulationfactory/public/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
},
{
"src": "logo192.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "logo512.png",
"type": "image/png",
"sizes": "512x512"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}
3 changes: 3 additions & 0 deletions simulationfactory/public/robots.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:
38 changes: 38 additions & 0 deletions simulationfactory/src/App.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
.App {
text-align: center;
}

.App-logo {
height: 40vmin;
pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
.App-logo {
animation: App-logo-spin infinite 20s linear;
}
}

.App-header {
background-color: #282c34;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: calc(10px + 2vmin);
color: white;
}

.App-link {
color: #61dafb;
}

@keyframes App-logo-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
29 changes: 29 additions & 0 deletions simulationfactory/src/App.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import React, { Component } from 'react';
import { BrowserRouter } from "react-router-dom";

import {BuildRoutes} from './util/RouteBuilder';

/* This is the only real weirdness with my solution. You MUST import all of the pages here, or the routes will not be built
Fortunately, importing for side effects isn't entirely unheard of *cough* jsx *cough*
*/
import HomePage from './pages/Homepage';
import FactoryPage from './pages/Factorypage';
import PlayerPage from './pages/Playerpage';
import LoginSignUpPage from './pages/Loginsignuppage';
import AccountPage from './pages/Accountpage';
import AboutPage from './pages/Aboutpage'
import { ThemeProvider } from '@material-ui/core';
import { Theme } from "./util/Stylesheet"

class App extends Component {
render() {
return (
<ThemeProvider theme={ Theme }>
<BrowserRouter>
<BuildRoutes/>
</BrowserRouter>
</ThemeProvider>
);
}
}
export default App
9 changes: 9 additions & 0 deletions simulationfactory/src/App.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import React from 'react';
import { render } from '@testing-library/react';
import App from './App';

test('renders learn react link', () => {
const { getByText } = render(<App />);
const linkElement = getByText(/learn react/i);
expect(linkElement).toBeInTheDocument();
});
Loading

0 comments on commit 35d7a95

Please sign in to comment.