Skip to content

Commit

Permalink
merge master into dev conflict resolution
Browse files Browse the repository at this point in the history
  • Loading branch information
nechanie committed Jul 2, 2024
2 parents 8e9cb3d + fa69113 commit 54873be
Show file tree
Hide file tree
Showing 7 changed files with 208 additions and 18 deletions.
66 changes: 66 additions & 0 deletions .github/workflows/master_nechanickyworks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
# More GitHub Actions for Azure: https://github.com/Azure/actions

name: Build and deploy ASP.Net Core app to Azure Web App - NechanickyWorks

on:
push:
branches:
- master
workflow_dispatch:

jobs:
build:
runs-on: windows-latest

steps:
- uses: actions/checkout@v4

- name: Set up .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: '8.x'
include-prerelease: true

- name: Build with dotnet
run: dotnet build --configuration Release

- name: dotnet publish
run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/myapp

- name: Upload artifact for deployment job
uses: actions/upload-artifact@v3
with:
name: .net-app
path: ${{env.DOTNET_ROOT}}/myapp

deploy:
runs-on: windows-latest
needs: build
environment:
name: 'Production'
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
permissions:
id-token: write #This is required for requesting the JWT

steps:
- name: Download artifact from build job
uses: actions/download-artifact@v3
with:
name: .net-app

- name: Login to Azure
uses: azure/login@v1
with:
client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_0CDF52D456564523AB82225CA3B00E25 }}
tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_BF363FD2A507477D9A2FA880B962CCC5 }}
subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_5CEA55A0A775407DA1320754A67929FF }}

- name: Deploy to Azure Web App
id: deploy-to-webapp
uses: azure/webapps-deploy@v2
with:
app-name: 'NechanickyWorks'
slot-name: 'Production'
package: .

2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) [year] [fullname]
Copyright (c) [2024] [Ethan Nechanicky]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 2 additions & 0 deletions nechanickyworks.client/src/App.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import Klotee from './assets/fonts/Klotee.otf';
import Artega from './assets/fonts/Artega.otf';
import Easy from './assets/fonts/Easy.otf';
import ScrollToTopButton from './components/utils/ScrollToTopButton';
import ConsultingPricePage from './pages/ConsultingPricePage';
import BransenNechanickyPage from './pages/BransenNechanickyPage';

const getDesignTokens = (mode) => ({
Expand Down Expand Up @@ -255,6 +256,7 @@ function App() {
<Route path="/projects/WarehouseRequestForm" element={<WarehouseRequestFormProjectPage />} />
<Route path="/projects/RecruitmentRequestForm" element={<RecruitmentRequestFormProjectPage />} />
<Route path="/projects/MyFridgeApp" element={<MyFridgeAndroidAppProjectPage />} />
<Route path="/Pricing" element={<ConsultingPricePage />} />
<Route path='/NechanickyWorks-Dedication' element={<BransenNechanickyPage />} />
</Routes>
{/*<TaskWindow/>*/}
Expand Down
13 changes: 6 additions & 7 deletions nechanickyworks.client/src/components/Display/GQLineGraph.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,18 @@ import { axisClasses } from '@mui/x-charts/ChartsAxis';

const GQLineGraph = ({ dataRefs, dataVals, xLabel }) => {
const yValueFormatter = (value) => {
const exponent = Math.log10(value);
return `10E${Math.round(exponent)}`;
};
const xValueFormatter = (value) => {
return `${value.toFixed(0)}`;
return `10E${value}`;
};
return (
<React.Fragment>
{(dataVals.length > 0 && dataRefs.length > 0) ? (
<LineChart
series={dataVals}
series={dataVals.map((series) => ({
...series,
valueFormatter: (v) => (yValueFormatter(v)),
}))}
xAxis={[{ id: "xAxisId", scaleType: 'linear', data: dataRefs, label: xLabel, tickMinStep: 1 }]}
yAxis={[{ scaleType: 'log', id: 'leftAxisId', label: "Absolute Error", valueFormatter: yValueFormatter}]}
yAxis={[{ scaleType: 'linear', id: 'leftAxisId', label: "Absolute Error", valueFormatter: yValueFormatter, min: -20}]}
slotProps={{ direction: "row", position: { vertical: "top", horizontal: "middle" } }}
margin={{left:90} }
sx={{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ const GaussQuadForm = ({ onSubmit, isDisabled }) => {
}, []);

const validateForm = () => {
console.log(polynomialFields);
if (parseInt(intervalStart) >= parseInt(intervalStop)) {
setFormError('Interval start must be less than interval stop.');
return false;
Expand Down
117 changes: 117 additions & 0 deletions nechanickyworks.client/src/pages/ConsultingPricePage.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
import React from 'react';
import { Container, Typography, Box, Grid, Card, CardContent } from '@mui/material';
import SiteFooter from '../components/Shared/Footer';

const pricingTiers = [
{
title: 'Standard Website Solution',
price: '$3,500',
features: [
'1 Full website with no special integrated features',
'Work with you (the customer) to design each part of the site',
'On-call assistance/troubleshooting/support'
]
},
{
title: 'Website Pro Solution',
price: '$8,000',
features: [
'All services included in the Standard Website Solution',
'1 Special integrated feature',
'Website designed to support future special integration additions (each integration beyond the included 1 can be added for an additional fee)'
]
},
{
title: 'Website Surplus Solution',
price: '$12,000',
features: [
'All services included in the Standard Website Solution',
'3 Special integrated features',
'Website designed to support future special integrations (each integration beyond the included 3 can be added for an additional fee)',
'50% discount on all fees associated with additional special integrations beyond the included 3'
]
}
];

const additionalInfo = [
{
title: 'All service tiers include:',
features: [
'Free text/image updates on existing content',
'Hourly fee for larger design changes: $40/hour (minimum $20)'
]
},
{
title: 'Special Integrations include:',
features: [
'External site embeddings',
'Custom API integrations',
'Features requiring a database'
]
},
{
title: 'Additional fees:',
features: [
'Hosting fees: $50-100/month',
'Special integration fees (associated with paid access to APIs and additional hosting fees for custom APIs and databases)'
]
}
];

const ConsultingPricePage = () => {
return (
<>
<Container sx={{paddingTop: '64px'} }>
<Container maxWidth="xl" sx={{padding:"3%"} }>
<Typography variant="h4" component="h1" gutterBottom>
Nechanicky Solutions LLC - Service Tiers
</Typography>
<Grid container spacing={4}>
{pricingTiers.map((tier, index) => (
<Grid item xs={12} md={4} key={index}>
<Card>
<CardContent>
<Typography variant="h5" component="h2">
{tier.title}
</Typography>
<Typography variant="h6" color="textSecondary">
{tier.price}
</Typography>
<Box component="ul" sx={{ pl: 2 }}>
{tier.features.map((feature, i) => (
<Typography component="li" key={i}>
{feature}
</Typography>
))}
</Box>
</CardContent>
</Card>
</Grid>
))}
</Grid>
<Container maxWidth="sm">
<Box mt={4}>
{additionalInfo.map((info, index) => (
<Box key={index} mb={3}>
<Typography variant="h6" component="h3">
{info.title}
</Typography>
<Box component="ul" sx={{ pl: 2 }}>
{info.features.map((feature, i) => (
<Typography component="li" key={i}>
{feature}
</Typography>
))}
</Box>
</Box>
))}
</Box>
</Container>
</Container>
</Container>
<SiteFooter/>
</>
);
};

export default ConsultingPricePage;
25 changes: 16 additions & 9 deletions nechanickyworks.client/src/pages/GaussianQuadraturePage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -74,37 +74,44 @@ const GaussianQuadraturePage = () => {
setShowPrimaryProgress(false);
}
}
if (msg.type === 'final_node_info') {
setFinalIntegral((prevState) => {
const newIntegral = parseFloat(msg.data.final_integral);
return newIntegral;
});
setTrueIntegral((prevState) => {
console.log(msg);
const newIntegral = msg.data.true_integral;
return newIntegral;
});
}
if (msg.type === 'node_info') {
if (showNodeGraph === false) {
setStatusMessage("Running...");
setShowNodeGraph(true);
setTrueIntegral((prevState) => {
const newIntegral = msg.data.true_itegral;
return newIntegral;
});
}
setPrimaryProgress((prevState) => {
let newState = 100 * msg.data.iteration / msg.data.toatl_iterations;
let newState = 100 * msg.data.iteration / msg.data.total_iterations;
return newState;
});
setNodes((prevState) => {
const copy = [...prevState];
copy.push(Math.log(parseInt(msg.data.nodes)));
copy.push(parseInt(msg.data.nodes));
return copy;
});
setLegendreData((prevState) => {
const copy = [...prevState];
copy.push(parseFloat(msg.data.legendre_error));
copy.push(Math.log10(parseFloat(msg.data.legendre_error)));
return copy;
});
setTrapezoidalData((prevState) => {
const copy = [...prevState];
copy.push(parseFloat(msg.data.trapezoidal_error));
copy.push(Math.log10(parseFloat(msg.data.trapezoidal_error)));
return copy;
});
setSimpsonsData((prevState) => {
const copy = [...prevState];
copy.push(parseFloat(msg.data.simpsons_error));
copy.push(Math.log10(parseFloat(msg.data.simpsons_error)));
return copy;
});
}
Expand Down

0 comments on commit 54873be

Please sign in to comment.