This commit is contained in:
szabomarton
2025-04-28 12:59:09 +02:00
108 changed files with 28822 additions and 0 deletions

BIN
25_02_21/frontend.zip Normal file

Binary file not shown.

View File

@@ -0,0 +1 @@
node_modules

View File

@@ -0,0 +1,222 @@
const express=require('express');
const cors=require('cors');
const sqlite3=require('sqlite3');
const app=express();
const db=new sqlite3.Database('./webshop.db');
app.use(cors());
app.use(express.json());
app.use(express.urlencoded({extended:true}));
app.listen(8000,()=>{console.log("Running")});
app.get('/',(req,res)=>{
res.send("Webshop");
})
app.get('/vevok',(req,res)=>{
db.all("select * from vevok"
,(error,rows)=>{
if(error){
res.status(400).json({message:error.message});
}
res.status(200).json(rows);
});
});
app.get('/termekek',(req,res)=>{
db.all("select * from termekek"
,(error,rows)=>{
if(error){
res.status(400).json({message:error.message});
}
res.status(200).json(rows);
});
});
app.post('/vevok',(req,res)=>{
const {nev,iranyitoszam,telepules,utcahazszam}=req.body;
db.run("insert into vevok (nev,iranyitoszam,telepules,utcahazszam) values(?,?,?,?)"
,[nev,iranyitoszam,telepules,utcahazszam]
,function (error){
if(error){
res.status(400).json({message:error.message});
}
res.status(201).json({message:"Beszúrás rendben "+this.lastID});
});
});
app.post('/termekek',(req,res)=>{
const {megnevezes,ar}=req.body;
db.run("insert into termekek (megnevezes,ar) values(?,?)"
,[megnevezes,ar]
,function (error){
if(error){
res.status(400).json({message:error.message});
}
res.status(201).json({message:"Beszúrás rendben "+this.lastID});
});
})
app.delete('/termekek/:id',(req,res)=>{
const id=req.params.id;
db.run("delete from termekek where id=?"
,[id]
,function (error){
if(error){
res.status(404).json({message:error.message});
}
console.log(this.changes);
if(this.changes==1){
res.status(200).json({message:"Törölve!"});
} else {
res.status(200).json({message:"Nincs ilyen Id"});
}
});
});
app.delete('/vevok/:id',(req,res)=>{
const id=req.params.id;
db.run("delete from vevok where id=?"
,[id]
,function (error){
if(error){
res.status(404).json({message:error.message});
}
console.log(this.changes);
if(this.changes==1){
res.status(200).json({message:"Törölve!"});
} else {
res.status(200).json({message:"Nincs ilyen Id"});
}
});
});
app.get('/vevoszamlai/:vevoid',(req,res)=>{
const vevoid=req.params.vevoid;
db.all("select szamlaszam,kelt,teljesites,vevoid,v.nev from szamlafej,vevok as v where vevoid=?"
,[vevoid]
,(error,rows)=>{
if(error){
res.status(400).json({message:error.message});
}
if(rows.length>0){
res.status(200).json(rows);
} else {
res.status(200).json({message:"A vevőhöz nem tartoznak számlák"});
}
});
});
app.get('/szamla/',(req,res)=>{
const szamlaszam=req.query.szamlaszam;
db.all(`select sf.szamlaszam,sf.kelt,sf.teljesites,vevok.nev as "vevo_neve" from szamlafej as sf,vevok where sf.vevoid=vevok.id and sf.szamlaszam=?`,
[szamlaszam]
,(error,rows)=>{
if(error){
res.status(400).json({message:error.message});
}
if(rows.length>0){
res.status(200).json(rows);
} else {
res.status(200).json({message:"Nincs ilyen!"});
}
});
});
app.get('/vevoszamlak_old/',(req,res)=>{
const vevoid=req.query.vevoid;
db.all(`select st.szamlafejid,st.mennyiseg,st.mennyisegiegyseg,sf.szamlaszam,v.nev,t.megnevezes from szamlatetel as st, szamlafej as sf,vevok as v ,termekek as t where st.szamlafejid=sf.id and st.termekid=t.id and sf.vevoid=v.id and v.id=?`
,[vevoid]
,(error,rows)=>{
if(error){
res.status(400).json({message:error.message});
}
if(rows.length>0){
res.status(200).json(rows);
} else {
res.status(200).json({message:"Nincs ilyen!"});
}
});
});
app.get('/vevoszamlak/',(req,res)=>{
const vevoid=req.query.vevoid;
db.serialize(()=>{
db.all("select nev,iranyitoszam,telepules,utcahazszam from vevok where id=?",[vevoid],(err,rows1)=>{
if(err){
res.status(500).json({message:"Adatbázis hiba!"});
return;
}
db.all(`select st.szamlafejid,st.mennyiseg,st.mennyisegiegyseg,sf.szamlaszam,t.megnevezes from szamlatetel as st, szamlafej as sf,vevok as v ,termekek as t where st.szamlafejid=sf.id and st.termekid=t.id and sf.vevoid=v.id and v.id=?`
,[vevoid]
,(error,rows2)=>{
if(error){
res.status(400).json({message:error.message});
return;
}
if(rows1.length>0){
res.status(200).json(Object.assign({"vevo":rows1[0]},{"vevo_szamlai":rows2}));
//res.status(200).json({vevo:rows1[0],vevoszamlak:rows2});
} else {
res.status(200).json({message:"Nincs ilyen felhasználó!"});
}
});
});
});
});

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,20 @@
{
"name": "webshop",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "nodemon index.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"cors": "^2.8.5",
"express": "^4.18.1",
"sqlite3": "^5.0.6"
},
"devDependencies": {
"nodemon": "^2.0.16"
}
}

Binary file not shown.

View File

@@ -0,0 +1,21 @@
module.exports = {
root: true,
env: { browser: true, es2020: true },
extends: [
'eslint:recommended',
'plugin:react/recommended',
'plugin:react/jsx-runtime',
'plugin:react-hooks/recommended',
],
ignorePatterns: ['dist', '.eslintrc.cjs'],
parserOptions: { ecmaVersion: 'latest', sourceType: 'module' },
settings: { react: { version: '18.2' } },
plugins: ['react-refresh'],
rules: {
'react/jsx-no-target-blank': 'off',
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true },
],
},
}

View File

@@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

View File

@@ -0,0 +1,8 @@
# React + Vite
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh

View File

@@ -0,0 +1,13 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Frontend vizsgafeladat</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.jsx"></script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,31 @@
{
"name": "frontend",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0",
"preview": "vite preview"
},
"dependencies": {
"daisyui": "^4.10.2",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.22.3"
},
"devDependencies": {
"@types/react": "^18.2.66",
"@types/react-dom": "^18.2.22",
"@vitejs/plugin-react": "^4.2.1",
"autoprefixer": "^10.4.19",
"eslint": "^8.57.0",
"eslint-plugin-react": "^7.34.1",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.6",
"postcss": "^8.4.38",
"tailwindcss": "^3.4.3",
"vite": "^5.2.0"
}
}

View File

@@ -0,0 +1,6 @@
export default {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,42 @@
#root {
max-width: 1280px;
margin: 0 auto;
padding: 2rem;
text-align: center;
}
.logo {
height: 6em;
padding: 1.5em;
will-change: filter;
transition: filter 300ms;
}
.logo:hover {
filter: drop-shadow(0 0 2em #646cffaa);
}
.logo.react:hover {
filter: drop-shadow(0 0 2em #61dafbaa);
}
@keyframes logo-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@media (prefers-reduced-motion: no-preference) {
a:nth-of-type(2) .logo {
animation: logo-spin infinite 20s linear;
}
}
.card {
padding: 2em;
}
.read-the-docs {
color: #888;
}

View File

@@ -0,0 +1,23 @@
import Header from "./components/Header"
import Main from "./components/Main"
import Menu from "./components/Menu"
function App() {
return (
<>
<Header text="Webshop" />
<Menu></Menu>
<Main />
</>
)
}
export default App
/*
<h1 className="text-3xl font-bold text-center">Frontend vizsgafeladat</h1>
*/

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 86 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="35.93" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 228"><path fill="#00D8FF" d="M210.483 73.824a171.49 171.49 0 0 0-8.24-2.597c.465-1.9.893-3.777 1.273-5.621c6.238-30.281 2.16-54.676-11.769-62.708c-13.355-7.7-35.196.329-57.254 19.526a171.23 171.23 0 0 0-6.375 5.848a155.866 155.866 0 0 0-4.241-3.917C100.759 3.829 77.587-4.822 63.673 3.233C50.33 10.957 46.379 33.89 51.995 62.588a170.974 170.974 0 0 0 1.892 8.48c-3.28.932-6.445 1.924-9.474 2.98C17.309 83.498 0 98.307 0 113.668c0 15.865 18.582 31.778 46.812 41.427a145.52 145.52 0 0 0 6.921 2.165a167.467 167.467 0 0 0-2.01 9.138c-5.354 28.2-1.173 50.591 12.134 58.266c13.744 7.926 36.812-.22 59.273-19.855a145.567 145.567 0 0 0 5.342-4.923a168.064 168.064 0 0 0 6.92 6.314c21.758 18.722 43.246 26.282 56.54 18.586c13.731-7.949 18.194-32.003 12.4-61.268a145.016 145.016 0 0 0-1.535-6.842c1.62-.48 3.21-.974 4.76-1.488c29.348-9.723 48.443-25.443 48.443-41.52c0-15.417-17.868-30.326-45.517-39.844Zm-6.365 70.984c-1.4.463-2.836.91-4.3 1.345c-3.24-10.257-7.612-21.163-12.963-32.432c5.106-11 9.31-21.767 12.459-31.957c2.619.758 5.16 1.557 7.61 2.4c23.69 8.156 38.14 20.213 38.14 29.504c0 9.896-15.606 22.743-40.946 31.14Zm-10.514 20.834c2.562 12.94 2.927 24.64 1.23 33.787c-1.524 8.219-4.59 13.698-8.382 15.893c-8.067 4.67-25.32-1.4-43.927-17.412a156.726 156.726 0 0 1-6.437-5.87c7.214-7.889 14.423-17.06 21.459-27.246c12.376-1.098 24.068-2.894 34.671-5.345a134.17 134.17 0 0 1 1.386 6.193ZM87.276 214.515c-7.882 2.783-14.16 2.863-17.955.675c-8.075-4.657-11.432-22.636-6.853-46.752a156.923 156.923 0 0 1 1.869-8.499c10.486 2.32 22.093 3.988 34.498 4.994c7.084 9.967 14.501 19.128 21.976 27.15a134.668 134.668 0 0 1-4.877 4.492c-9.933 8.682-19.886 14.842-28.658 17.94ZM50.35 144.747c-12.483-4.267-22.792-9.812-29.858-15.863c-6.35-5.437-9.555-10.836-9.555-15.216c0-9.322 13.897-21.212 37.076-29.293c2.813-.98 5.757-1.905 8.812-2.773c3.204 10.42 7.406 21.315 12.477 32.332c-5.137 11.18-9.399 22.249-12.634 32.792a134.718 134.718 0 0 1-6.318-1.979Zm12.378-84.26c-4.811-24.587-1.616-43.134 6.425-47.789c8.564-4.958 27.502 2.111 47.463 19.835a144.318 144.318 0 0 1 3.841 3.545c-7.438 7.987-14.787 17.08-21.808 26.988c-12.04 1.116-23.565 2.908-34.161 5.309a160.342 160.342 0 0 1-1.76-7.887Zm110.427 27.268a347.8 347.8 0 0 0-7.785-12.803c8.168 1.033 15.994 2.404 23.343 4.08c-2.206 7.072-4.956 14.465-8.193 22.045a381.151 381.151 0 0 0-7.365-13.322Zm-45.032-43.861c5.044 5.465 10.096 11.566 15.065 18.186a322.04 322.04 0 0 0-30.257-.006c4.974-6.559 10.069-12.652 15.192-18.18ZM82.802 87.83a323.167 323.167 0 0 0-7.227 13.238c-3.184-7.553-5.909-14.98-8.134-22.152c7.304-1.634 15.093-2.97 23.209-3.984a321.524 321.524 0 0 0-7.848 12.897Zm8.081 65.352c-8.385-.936-16.291-2.203-23.593-3.793c2.26-7.3 5.045-14.885 8.298-22.6a321.187 321.187 0 0 0 7.257 13.246c2.594 4.48 5.28 8.868 8.038 13.147Zm37.542 31.03c-5.184-5.592-10.354-11.779-15.403-18.433c4.902.192 9.899.29 14.978.29c5.218 0 10.376-.117 15.453-.343c-4.985 6.774-10.018 12.97-15.028 18.486Zm52.198-57.817c3.422 7.8 6.306 15.345 8.596 22.52c-7.422 1.694-15.436 3.058-23.88 4.071a382.417 382.417 0 0 0 7.859-13.026a347.403 347.403 0 0 0 7.425-13.565Zm-16.898 8.101a358.557 358.557 0 0 1-12.281 19.815a329.4 329.4 0 0 1-23.444.823c-7.967 0-15.716-.248-23.178-.732a310.202 310.202 0 0 1-12.513-19.846h.001a307.41 307.41 0 0 1-10.923-20.627a310.278 310.278 0 0 1 10.89-20.637l-.001.001a307.318 307.318 0 0 1 12.413-19.761c7.613-.576 15.42-.876 23.31-.876H128c7.926 0 15.743.303 23.354.883a329.357 329.357 0 0 1 12.335 19.695a358.489 358.489 0 0 1 11.036 20.54a329.472 329.472 0 0 1-11 20.722Zm22.56-122.124c8.572 4.944 11.906 24.881 6.52 51.026c-.344 1.668-.73 3.367-1.15 5.09c-10.622-2.452-22.155-4.275-34.23-5.408c-7.034-10.017-14.323-19.124-21.64-27.008a160.789 160.789 0 0 1 5.888-5.4c18.9-16.447 36.564-22.941 44.612-18.3ZM128 90.808c12.625 0 22.86 10.235 22.86 22.86s-10.235 22.86-22.86 22.86s-22.86-10.235-22.86-22.86s10.235-22.86 22.86-22.86Z"></path></svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@@ -0,0 +1,7 @@
function Header(props) {
return (
<h1 className="text-3xl font-bold text-center text-indigo-200 bg-indigo-800" >{props.text}</h1>
);
}
export default Header;

View File

@@ -0,0 +1,45 @@
import KEP from './../assets/Business_SVG.svg';
function Main() {
return (
<section className="relative overflow-hidden bg-gradient-to-b from-blue-50 via-transparent to-transparent pb-12 pt-20 sm:pb-16 sm:pt-32 lg:pb-24 xl:pb-32 xl:pt-40">
<div className="relative z-10">
<div
className="absolute inset-x-0 top-1/2 -z-10 flex -translate-y-1/2 justify-center overflow-hidden [mask-image:radial-gradient(50%_45%_at_50%_55%,white,transparent)]">
<svg className="h-[60rem] w-[100rem] flex-none stroke-blue-600 opacity-20" aria-hidden="true">
<defs>
<pattern id="e9033f3e-f665-41a6-84ef-756f6778e6fe" width="200" height="200" x="50%" y="50%"
patternUnits="userSpaceOnUse" patternTransform="translate(-100 0)">
<path d="M.5 200V.5H200" fill="none"></path>
</pattern>
</defs>
<svg x="50%" y="50%" className="overflow-visible fill-blue-50">
<path d="M-300 0h201v201h-201Z M300 200h201v201h-201Z" strokeWidth="0"></path>
</svg>
<rect width="100%" height="100%" strokeWidth="0" fill="url(#e9033f3e-f665-41a6-84ef-756f6778e6fe)">
</rect>
</svg>
</div>
</div>
<div className="relative z-20 mx-auto max-w-7xl px-6 lg:px-8">
<div className="mx-auto max-w-2xl text-center">
<h1 className="text-4xl font-bold tracking-tight text-gray-900 sm:text-6xl">
Frontend programozás
<p className="text-blue-600">Gyakorlati vizsga
</p>
</h1>
<h2 className="mt-6 text-lg leading-8 text-gray-600">
Webshop feladat
</h2>
<div className="mt-10 flex items-center justify-center gap-x-6">
</div>
</div>
<div className="relative mx-auto mt-10 max-w-lg">
<img className="w-full rounded-2xl border border-gray-100 shadow" src={KEP} alt="" />
</div>
</div>
</section>
)
}
export default Main;

View File

@@ -0,0 +1,44 @@
export default function Menu() {
return (
<nav className="bg-gray-200 shadow shadow-gray-300 w-100 px-8 md:px-auto">
<div className="md:h-16 h-28 mx-auto md:px-4 container flex items-center justify-between flex-wrap md:flex-nowrap">
<div className="text-indigo-500 md:order-1">
<svg xmlns="http://www.w3.org/2000/svg" className="h-10 w-10" fill="none" viewBox="0 0 24 24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z" />
</svg>
</div>
<div className="text-gray-500 order-3 w-full md:w-auto md:order-2">
<ul className="flex font-semibold justify-between">
<li className="md:px-4 md:py-2 hover:text-indigo-400"><a href="#">Menüpont</a></li>
</ul>
</div>
<div className="order-2 md:order-3">
</div>
</div>
</nav>
)
}
/*
<nav className="flex justify-between items-center h-16 bg-white text-black relative shadow-sm font-mono" role="navigation">
<Link to="/" className="pl-8">Webshop</Link>
<div className="px-4 cursor-pointer md:hidden">
<svg className="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth="2"
d="M4 6h16M4 12h16m-7 6h7"></path>
</svg>
</div>
<div className="pr-8 md:block hidden">
<Link to="/ujtermek">Új termék</Link>
<Link to="/termekek">Termékek</Link>
</div>
</nav>
*/

View File

@@ -0,0 +1,7 @@
export default function Termekek() {
return (
<>
A webshop termékei
</>
)
}

View File

@@ -0,0 +1,7 @@
export default function UjTermek() {
return (
<>
Új termék felvétele
</>
)
}

View File

@@ -0,0 +1,3 @@
@tailwind base;
@tailwind components;
@tailwind utilities;

View File

@@ -0,0 +1,10 @@
import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App.jsx'
import './index.css'
ReactDOM.createRoot(document.getElementById('root')).render(
<React.StrictMode>
<App />
</React.StrictMode>,
)

View File

@@ -0,0 +1,43 @@
<div className="min-h-screen bg-gray-50 flex flex-col justify-center py-12 sm:px-6 lg:px-8">
<div className="sm:mx-auto sm:w-full sm:max-w-md">
<img className="mx-auto h-10 w-auto" src="https://www.svgrepo.com/show/301692/login.svg" alt="Workflow" />
<h2 className="mt-6 text-center text-3xl leading-9 font-extrabold text-gray-900">
Text
</h2>
</div>
<div className="mt-8 sm:mx-auto sm:w-full sm:max-w-md">
<div className="bg-white py-8 px-4 shadow sm:rounded-lg sm:px-10">
<form method="POST" >
<div>
<label for="mezo" className="block text-sm font-medium leading-5 text-gray-700">Első input</label>
<div className="mt-1 relative rounded-md shadow-sm">
<input id="mezo" name="mezo" type="text" value="" className="appearance-none block w-full px-3 py-2 border border-gray-300 rounded-md placeholder-gray-400 focus:outline-none focus:shadow-outline-blue focus:border-blue-300 transition duration-150 ease-in-out sm:text-sm sm:leading-5" />
</div>
</div>
<div className="mt-6">
<label for="mezo2" className="block text-sm font-medium leading-5 text-gray-700">
További input
</label>
<div className="mt-1 relative rounded-md shadow-sm">
<input id="mezo2" name="mezo2" type="text" value="" className="appearance-none block w-full px-3 py-2 border border-gray-300 rounded-md placeholder-gray-400 focus:outline-none focus:shadow-outline-blue focus:border-blue-300 transition duration-150 ease-in-out sm:text-sm sm:leading-5"/>
</div>
</div>
<div className="mt-6">
<span className="block w-full rounded-md shadow-sm">
<button type="submit" className="w-full flex justify-center py-2 px-4 border border-transparent text-sm font-medium rounded-md text-white bg-blue-600 hover:bg-blue-500 focus:outline-none focus:border-indigo-700 focus:shadow-outline-indigo active:bg-indigo-700 transition duration-150 ease-in-out">
Gomb
</button>
</span>
</div>
</form>
</div>
</div>
</div>

View File

@@ -0,0 +1 @@
<h1 className="text-3xl font-bold text-center">Header</h1>

View File

@@ -0,0 +1,38 @@
<section className="relative overflow-hidden bg-gradient-to-b from-blue-50 via-transparent to-transparent pb-12 pt-20 sm:pb-16 sm:pt-32 lg:pb-24 xl:pb-32 xl:pt-40">
<div className="relative z-10">
<div
className="absolute inset-x-0 top-1/2 -z-10 flex -translate-y-1/2 justify-center overflow-hidden [mask-image:radial-gradient(50%_45%_at_50%_55%,white,transparent)]">
<svg className="h-[60rem] w-[100rem] flex-none stroke-blue-600 opacity-20" aria-hidden="true">
<defs>
<pattern id="e9033f3e-f665-41a6-84ef-756f6778e6fe" width="200" height="200" x="50%" y="50%"
patternUnits="userSpaceOnUse" patternTransform="translate(-100 0)">
<path d="M.5 200V.5H200" fill="none"></path>
</pattern>
</defs>
<svg x="50%" y="50%" className="overflow-visible fill-blue-50">
<path d="M-300 0h201v201h-201Z M300 200h201v201h-201Z" strokeWidth="0"></path>
</svg>
<rect width="100%" height="100%" strokeWidth="0" fill="url(#e9033f3e-f665-41a6-84ef-756f6778e6fe)">
</rect>
</svg>
</div>
</div>
<div className="relative z-20 mx-auto max-w-7xl px-6 lg:px-8">
<div className="mx-auto max-w-2xl text-center">
<h1 className="text-4xl font-bold tracking-tight text-gray-900 sm:text-6xl">
text
<p className="text-blue-600">text
</p>
</h1>
<h2 className="mt-6 text-lg leading-8 text-gray-600">
text
</h2>
<div className="mt-10 flex items-center justify-center gap-x-6">
</div>
</div>
<div className="relative mx-auto mt-10 max-w-lg">
<img className="w-full rounded-2xl border border-gray-100 shadow" src="" alt=""/>
</div>
</div>
</section>

View File

@@ -0,0 +1,23 @@
<nav className="bg-gray-200 shadow shadow-gray-300 w-100 px-8 md:px-auto">
<div className="md:h-16 h-28 mx-auto md:px-4 container flex items-center justify-between flex-wrap md:flex-nowrap">
<div className="text-indigo-500 md:order-1">
<svg xmlns="http://www.w3.org/2000/svg" className="h-10 w-10" fill="none" viewBox="0 0 24 24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z" />
</svg>
</div>
<div className="text-gray-500 order-3 w-full md:w-auto md:order-2">
<ul className="flex font-semibold justify-between">
<li className="md:px-4 md:py-2 hover:text-indigo-400"><a href="#">Menüpont</a></li>
</ul>
</div>
<div className="order-2 md:order-3">
</div>
</div>
</nav>

View File

@@ -0,0 +1,24 @@
<div className="flex justify-center my-5">
<div
className="block w-96 max-w-[18rem] rounded-lg border border-primary bg-white shadow-secondary-1 dark:bg-surface-dark">
<div
className="border-b-2 border-neutral-100 px-6 py-3 text-surface dark:border-white/10 dark:text-white">
</div>
<div className="p-6">
<h5 className="mb-2 text-xl font-medium leading-tight text-primary">
text
</h5>
<p className="text-base text-primary ">
text
</p>
<p className="text-base text-primary ">
text
</p>
<p className="text-base text-primary ">
text
</p>
</div>
<button className="btn btn-primary">text</button>
</div>
</div>

View File

@@ -0,0 +1,12 @@
/** @type {import('tailwindcss').Config} */
export default {
content: [
"./index.html",
"./src/**/*.{js,ts,jsx,tsx}",
],
theme: {
extend: {},
},
plugins: [require('daisyui')],
}

View File

@@ -0,0 +1,7 @@
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [react()],
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

23
25_04_11/piac/.gitignore vendored Normal file
View File

@@ -0,0 +1,23 @@
# 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*

70
25_04_11/piac/README.md Normal file
View File

@@ -0,0 +1,70 @@
# Getting Started with Create React App
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.\
Open [http://localhost:3000](http://localhost:3000) to view it in your browser.
The page will reload when you make changes.\
You may also see any lint errors in the console.
### `npm test`
Launches the test runner in the interactive watch mode.\
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.\
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.\
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](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](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](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](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](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](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify)

103
25_04_11/piac/db.json Normal file
View File

@@ -0,0 +1,103 @@
{
"termekek": [
{
"elado": "Példa Péter",
"email": "peter@pelda.com",
"telefonszam": "06000000001",
"termekNev": "XY Telefon",
"leiras": "Alig használt, karcmentes, 80%-os akkumulátorral",
"ar": 50000,
"id": "ea9c"
},
{
"elado": "Metódus Mária",
"email": "maria@metodus.com",
"telefonszam": "06000000002",
"termekNev": "AB Laptop",
"leiras": "Megkímélt állapot, SSD-vel, friss Windows telepítve",
"ar": 120000,
"id": "d0ad"
},
{
"elado": "Objektum Ottó",
"email": "otto@objektum.com",
"telefonszam": "06000000003",
"termekNev": "Okosóra ZT",
"leiras": "Egy éves, vízálló, tökéletesen működik",
"ar": 25000,
"id": "250c"
},
{
"elado": "Függvény Ferenc",
"email": "ferenc@fuggveny.com",
"telefonszam": "06000000004",
"termekNev": "XYZ Tévékészülék",
"leiras": "4K UHD, 55 colos, keveset használt",
"ar": 180000,
"id": "0f32"
},
{
"elado": "Laravel László",
"email": "laszlo@laravel.com",
"telefonszam": "06000000005",
"termekNev": "Gamer Billentyűzet",
"leiras": "RGB világítás, mechanikus kapcsolók, hibátlan állapot",
"ar": 25000,
"id": "7174"
},
{
"id": "5516",
"elado": "",
"email": "",
"telefonszam": "",
"termekNev": "Bluetooth hangszóró",
"leiras": "",
"ar": null
},
{
"id": "7bb0",
"elado": "",
"email": "",
"telefonszam": "",
"termekNev": "",
"leiras": "",
"ar": null
},
{
"id": "d999",
"elado": "",
"email": "",
"telefonszam": "",
"termekNev": "videójáték konzol",
"leiras": "",
"ar": null
},
{
"id": "8a33",
"elado": "",
"email": "",
"telefonszam": "",
"termekNev": "",
"leiras": "",
"ar": null
},
{
"id": "c4e5",
"elado": "",
"email": "",
"telefonszam": "",
"termekNev": "",
"leiras": "",
"ar": null
},
{
"id": "a3cc",
"elado": "",
"email": "",
"telefonszam": "",
"termekNev": "",
"leiras": "",
"ar": null
}
]
}

18846
25_04_11/piac/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,45 @@
{
"name": "frontend",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/dom": "^10.4.0",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.2.0",
"@testing-library/user-event": "^13.5.0",
"chromedriver": "^135.0.1",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-router-dom": "^7.4.1",
"react-scripts": "5.0.1",
"selenium-webdriver": "^4.31.0",
"web-vitals": "^2.1.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"json-server": "^1.0.0-beta.3"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@@ -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"
}

View File

@@ -0,0 +1,3 @@
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:

38
25_04_11/piac/src/App.css Normal file
View File

@@ -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);
}
}

26
25_04_11/piac/src/App.jsx Normal file
View File

@@ -0,0 +1,26 @@
import React from 'react';
import './App.css';
import Header from './components/Header';
import Main from './components/Main';
import Menu from './components/Menu';
import Termekek from './components/Termekek';
import Termekfeltoltes from './components/Termekfeltoltes';
import {BrowserRouter, Routes, Route} from 'react-router-dom';
let cimsor = "Pici Piac Kft.";
function App() {
return (
<BrowserRouter>
<Header cimsor={cimsor} />
<Menu />
<Routes>
<Route path="/" element={<Main />} />
<Route path="/termekek" element={<Termekek />} />
<Route path="/termekfeltoltes" element={<Termekfeltoltes />} />
<Route path="*" element={<Main />} />
</Routes>
</BrowserRouter>
);
}
export default App;

View File

@@ -0,0 +1,8 @@
import { render, screen } from '@testing-library/react';
import App from './App';
test('renders learn react link', () => {
render(<App />);
const linkElement = screen.getByText(/learn react/i);
expect(linkElement).toBeInTheDocument();
});

View File

@@ -0,0 +1,12 @@
import React from 'react';
import '../styles/Header.css';
function Header(props) {
return (
<header>
<h1>{props.cimsor}</h1>
</header>
);
}
export default Header;

View File

@@ -0,0 +1,19 @@
import React from 'react';
import '../styles/Main.css';
import Hatter from '../images/hatter.avif';
function Main() {
return (
<div className="main" style={{ backgroundImage: `url(${Hatter})` }}>
<div className="content">
<h1>Üdvözöljük kedves látogató!</h1>
<p>
Weboldalunk gyors és egyszerű megoldást kínál használt termékek eladására és vételére!
Nálunk mindent megtalál, akárcsak egy igazi bolhapiacon!
</p>
</div>
</div>
);
}
export default Main;

View File

@@ -0,0 +1,15 @@
import React from 'react';
import '../styles/Menu.css';
import {Link} from 'react-router-dom';
function Menu() {
return (
<div className="menu">
<Link to="/"><a className="menu-item">Főoldal</a></Link>
<Link to="/termekek"><a className="menu-item">Termékek</a></Link>
<Link to="/termekfeltoltes"><a className="menu-item">Termék eladása</a></Link>
</div>
);
}
export default Menu;

View File

@@ -0,0 +1,45 @@
import React, { useState, useEffect } from 'react';
import '../styles/Termekek.css';
function Termekek() {
let [termekek, setTermekek] = useState(null);
useEffect(() => {
async function fetchData() {
try {
let response = await fetch("http://localhost:8000/termekek");
let data = await response.json();
console.log(data);
setTermekek(data);
} catch (error) {
console.error("Hiba történt az adatlekérés során:", error);
}
}
fetchData();
}, []);
if (!termekek) {
return <div>Nincs megjeleníthető adat!</div>
}
return (
<div className="cards-container">
{termekek.map((data) => {
return (
<div key={data.id} className="termekek-card">
<div className="termekek-card-body">
<h2 className="termekek-card-title">{data.termekNev}</h2>
<p className="termekek-card-detail">Leírás: {data.leiras}</p>
<p className="termekek-card-detail">Ár: {data.ar}</p>
<p className="termekek-card-detail">Eladó neve: {data.elado}</p>
<p className="termekek-card-detail">Email: {data.email}</p>
<p className="termekek-card-detail">Telefon: {data.telefonszam}</p>
</div>
</div>
)
})}
</div>
);
}
export default Termekek;

View File

@@ -0,0 +1,75 @@
import React from 'react';
import { useState } from "react";
import '../styles/Termekfeltoltes.css';
function Termekfeltoltes() {
let [ujTermek, setUjTermek] = useState({
elado: "",
email: "",
telefonszam: "",
termekNev: "",
leiras: "",
ar: null
});
let esemenykezeles = (event) => {
let name = event.target.name;
let value = event.target.value;
setUjTermek(prevState => ({
...prevState,
[name]: value
}));
};
let feldolgozas = async (event) => {
try {
let api = await fetch("http://localhost:8000/termekek", {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(ujTermek)
});
if (!api.ok) {
throw new Error(`Hiba történt! Hibajelzés: ${api.status}`);
}
} catch (error) {
console.error("Hiba történt az adatfeltöltés során:", error);
}
};
return (
<>
<h1>Termék feltöltése</h1>
<div>
<form onSubmit={feldolgozas} action="/termekek">
<div>
<label>Termék neve:</label>
<input type='text' name="termekNev" value={ujTermek.termekNev} onChange={esemenykezeles}/>
<label>Termék leírása:</label>
<input type='text' name="leiras" value={ujTermek.leiras} onChange={esemenykezeles}/>
<label>Termék ára:</label>
<input type='number' name="ar" value={ujTermek.ar} onChange={esemenykezeles}/>
<label>Eladó neve:</label>
<input type='text' name="elado" value={ujTermek.elado} onChange={esemenykezeles}/>
<label>Email cím:</label>
<input type='email' name="email" value={ujTermek.email} onChange={esemenykezeles}/>
<label>Telefonszám:</label>
<input type='tel' name="telefonszam" value={ujTermek.telefonszam} onChange={esemenykezeles}/>
<select name="atveteliMod">
<option value="szemelyes">Személyes átvétel</option>
<option value="futar">Futárszolgálat</option>
<option value="mindketto">Mindkét lehetőség</option>
</select>
<button type='submit' name="elkuldes" >Termék feltöltése</button>
</div>
</form>
</div>
</>
);
}
export default Termekfeltoltes;

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

View File

@@ -0,0 +1,21 @@
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
code {
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
monospace;
}
body {
background-color: #2a1906 !important;
color: #FFF5E1;
margin: 0;
padding: 0;
min-height: 100vh; /* Teljes képernyő lefedése */
}

View File

@@ -0,0 +1,17 @@
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 841.9 595.3"><g fill="#61DAFB"><path d="M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3zm-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9zm-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9zm32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1zM421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32zm-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24 4.7 8 9.5 15.8 14.4 23.4zM420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32zm-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9zm-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6 0-15.7 22.9-35.6 58.3-50.6 8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2zM310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7zm237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1zm38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6zM320.8 78.4z"/><circle cx="420.9" cy="296.5" r="45.7"/><path d="M520.5 78.1z"/></g></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@@ -0,0 +1,25 @@
<div>
<form onSubmit={}>
<div>
<label>Adjon meg egy egyedi azonosítót:</label>
<input type='text' value={} onChange={} required/>
<label>Adja meg nevét:</label>
<input type='text' value={} onChange={} required/>
<label>Adja meg az email címét:</label>
<input type='text' value={} onChange={} required/>
<label>Adja meg a telefonszámát:</label>
<input type='tel' value={} onChange={} required/>
<label>Adjon meg a irányítószámot:</label>
<input type='number' value={} onChange={} required/>
<label>Adja meg a városát:</label>
<input type='text' value={} onChange={} required/>
<label>Adja meg a utcáját:</label>
<input type='text' value={} onChange={} required/>
<label>Adja meg a házszámát:</label>
<input type='number' value={} onChange={} required/>
<label>Megjegyzés (Opcionális):</label>
<input type='textarea' value={} onChange={}/>
<button type='submit'>Szállítmány felvétele</button>
</div>
</form>
</div>

View File

@@ -0,0 +1,9 @@
<main className="main" style={{ backgroundImage: `url(${})` }}>
<div className="content">
<h1>Üdvözöljük futárszolgálatunknál!</h1>
<p>
Gyors és kényelmes lehetőséget biztosítunk csomagjai nemzetközi szállítására!
Felejtse el a kényelmetlen csomagpontokat, mi házhoz megyünk csomagjáért!
</p>
</div>
</main>

View File

@@ -0,0 +1,5 @@
<div className="menu">
<a className="menu-item">Főoldal</a>
<a className="menu-item">Szállítmányok</a>
<a className="menu-item">Új szállítmány leadása</a>
</div>

View File

@@ -0,0 +1,15 @@
<div className="cards-container">
<div className="szallitmany-card">
<div className="szallitmany-card-body">
<h2 className="szallitmany-card-title"></h2>
<p className="szallitmany-card-detail">Név: </p>
<p className="szallitmany-card-detail">Email: </p>
<p className="szallitmany-card-detail">Telefonszám: </p>
<p className="szallitmany-card-detail">Irányítószám: </p>
<p className="szallitmany-card-detail">Város: </p>
<p className="szallitmany-card-detail">Utca: </p>
<p className="szallitmany-card-detail">Házszám: </p>
<p className="szallitmany-card-detail">Megjegyzés: </p>
</div>
</div>
</div>

View File

@@ -0,0 +1,60 @@
1p - Props használata
3p - útvonalak megírása az App.jsx-ben felhasználása
1p - Háttérkép helyesen meg lett adva és betöltődött
3p - Menu útvonalak megfelelő bekötése
3p - Fetch adatlakérés megvalósítása
3p - Map függvény helyes felhasználása
3p - Fetch adatfeltöltés megvalósítása
1p - Adatok tényleges feltöltése űrlapból
2p - Oldal nincs szétesve, megjelenése helyes
1-6 = 1 ; 2-12=2 ; 13-15=3 ; 16-17=4 ; 18-20=5
Vencz: 1 + 3 + 1 + 3 + 2 + 3 + 2 + 0 + 1 = 16 + 1 = 4
Varró: 1 + 3 + 1 + 3 + 3 + 3 + 0 + 0 + 2 = 16p = 4
- Újszáálítmány üres
- nem minden adat jelenik meg a szállítmányok kártyákon
Varga: 1 + 3 + 1 + 3 + 3 + 2 + 1 + 0 + 1 = 15p = 3
- indexhasználat a fetchnél
- nincs adatbeküldő függvény
- nincs főoldalra visszairányítva
TóthL: 1 + 2 + 1 + 3 + 3 + 2 + 0 + 1 + 2 = 15p + 2 = 17p = 4
- nincs alapértelmezett útvonal megadva
- map-nál felesleges indexhasználat
- nekem gyanús, hogy az újszállítmány ai-val lett irva
TóthÁ: 1 + 3 + 1 + 3 + 3 + 3 + 3 + 1 + 2 = 20p = 5
Szűcs: 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 = 3p + 2p = 5p = 1
Szabó: 1 + 3 + 1 + 3 + 3 + 3 + 2 + 1 + 2 = 19p + 1 = 20p = 5
- nem irányít vissza a főoldalra a weboldal
Sebestyén: 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 1 = 4p + 2 = 6p = 1
- a header nagyon gyanús, hogy nem saját kezűleg lett irva
- a tényleges átirányítás nem jó, mert nem komponenst ad meg az attribútumnak
- a link to attribútuma nem megfelelő paraméterezésű
Rácz: 1 + 3 + 1 + 3 + 2 + 3 + 0 + 0 + 1 = 14 + 1 = 3
- nincs hibakezelés fetchnél és nem jól lett megadva az url
- nincs semmilyen adatfeltöltés
- hibát dob az oldal
MegyeriP: 1 + 3 + 1 + 3 + 3 + 3 + 0 + 0 + 2 = 16p + 1p = 17p = 4
- hiányzó teljes adatfeltöltési lehetőség
MegyeriG: 1 + 3 + 2 + 3 + 2 + 3 + 3 + 0 + 2 = 19 + 1p = 20p = 5
- Nem minden adat jelenik meg a kártyákon
- ténylegesen nem tudok adatot feltölteni
Medve: 1 + 3 + 1 + 3 + 2 + 3 + 2 + 1 + 2 = 18p + 2p = 20p = 5
- adatlakérésnél nincs hibakezelés
- adatfeltöltésnél nincs hibakezelés
Makucza: 1 + 2 + 1 + 3 + 3 + 2 + 0 + 0 + 2 = 14p + 1p = 15p = 3
- nem adott meg alapértelmezett útvonalat
- map során nem megfelelő indexhasználat
- nincs adatfeltöltést megvalósító kód
- kódot másolt

View File

@@ -0,0 +1,13 @@
const reportWebVitals = onPerfEntry => {
if (onPerfEntry && onPerfEntry instanceof Function) {
import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
getCLS(onPerfEntry);
getFID(onPerfEntry);
getFCP(onPerfEntry);
getLCP(onPerfEntry);
getTTFB(onPerfEntry);
});
}
};
export default reportWebVitals;

View File

@@ -0,0 +1,5 @@
// jest-dom adds custom jest matchers for asserting on DOM nodes.
// allows you to do things like:
// expect(element).toHaveTextContent(/react/i)
// learn more: https://github.com/testing-library/jest-dom
import '@testing-library/jest-dom';

View File

@@ -0,0 +1,12 @@
header {
background-color: #A52A2A;
color: white;
padding: 20px;
text-align: center;
}
h1 {
margin: 0;
font-size: 2.5rem;
color: #FFFFFF;
}

View File

@@ -0,0 +1,29 @@
.main {
background-size: cover;
background-position: center;
background-repeat: no-repeat;
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
color: white;
padding: 50px 20px;
}
.content {
background-color: rgba(0, 0, 0, 0.5);
padding: 20px;
border-radius: 10px;
max-width: 800px;
text-align: center;
}
h1 {
font-size: 2.5rem;
}
p {
font-size: 1.2rem;
}

View File

@@ -0,0 +1,23 @@
.menu {
display: flex;
justify-content: center;
align-items: center;
padding: 20px 0;
background-color: #D2691E;
}
.menu-item {
color: #FFFFFF;
text-decoration: none;
background-color: #5A2E00;
padding: 10px 20px;
margin: 0 10px;
border-radius: 5px;
transition: background-color 0.3s ease;
display: inline-block;
}
.menu-item:hover {
background-color: #9c9a9a;
}

View File

@@ -0,0 +1,42 @@
.cards-container {
display: flex;
flex-wrap: wrap;
justify-content: space-evenly;
padding: 20px;
}
.termekek-card {
width: 300px;
background-color: #D2691E; /* Melegebb narancsos árnyalat a kék helyett */
border-radius: 10px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
margin: 15px;
overflow: hidden;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.termekek-card:hover {
transform: translateY(-10px);
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
}
.termekek-card-body {
padding: 20px;
}
.termekek-card-title {
font-size: 24px;
font-weight: bold;
color: #FFF5E1; /* Világos bézs a jobb olvashatóságért */
margin-bottom: 10px;
}
.termekek-card-detail {
font-size: 16px;
color: #FFF5E1;
margin: 5px 0;
}
.termekek-card-detail:first-child {
margin-top: 10px;
}

View File

@@ -0,0 +1,57 @@
body {
font-family: Arial, sans-serif;
background-color: #fcfafa;
margin: 0;
padding: 0;
}
form {
background-color: #D2691E;
max-width: 500px;
margin: 20px auto;
padding: 20px;
border-radius: 8px;
box-shadow: 0px 4px 10px rgba(255, 255, 255, 0.1);
}
h1 {
text-align: center;
padding: 10px 0;
}
label {
font-weight: bold;
color: #ffffff;
display: block;
margin-top: 10px;
}
input {
width: 100%;
padding: 8px;
margin-top: 5px;
border: 1px solid #ccc;
border-radius: 5px;
font-size: 16px;
box-sizing: border-box;
}
input[name="megjegyzes"] {
height: 80px;
}
button {
background-color: #ffffff;
color: rgb(0, 0, 0);
font-size: 16px;
padding: 10px;
border: none;
border-radius: 5px;
cursor: pointer;
margin-top: 15px;
width: 100%;
}
button:hover {
background-color: #9c9a9a;
}

View File

@@ -0,0 +1,69 @@
let { Builder, By, Select } = require("selenium-webdriver");
async function termekNev(driver) {
let element = await driver.findElement(By.name("termekNev"));
await element.sendKeys("Fejhallgató");
return element;
}
async function termekLeirasTest(driver, leiras) {
let element = await driver.findElement(By.name("leiras"));
await element.sendKeys(leiras);
}
async function termekArTest(driver) {
let element = await driver.findElement(By.name("ar"));
await element.sendKeys("10000");
}
async function termekEladoTest(driver) {
let element = await driver.findElement(By.name("elado"));
await element.sendKeys("Kovács János");
}
async function termekEmailTest(driver) {
let element = await driver.findElement(By.name("email"));
await element.sendKeys("kovacs.janos@gmail.com");
}
async function termekTelefonszamTest(driver) {
let element = await driver.findElement(By.name("telefonszam"));
await element.sendKeys("06201234567");
}
async function termekAtviteliModTest(driver) {
let element = await driver.findElement(By.name("atveteliMod"));
let select = new Select(element);
await select.selectByValue("futar");
}
async function gombnyomasTest(driver) {
let element = await driver.findElement(By.name("elkuldes"));
await element.click();
}
(async function() {
let driver = await new Builder().forBrowser("chrome").build();
try {
await driver.get("http://localhost:3000/termekfeltoltes");
let elem = await termekNev(driver);
let leiras = await elem.getAttribute("value") + " - teszt";
await termekLeirasTest(driver, leiras);
await termekArTest(driver);
await termekEladoTest(driver);
await termekEmailTest(driver);
await termekTelefonszamTest(driver);
await termekAtviteliModTest(driver);
// wait for x seconds
await driver.sleep(2000);
await gombnyomasTest(driver);
} finally {
await driver.sleep(2000);
await driver.quit();
}
})();

Binary file not shown.

View File

@@ -0,0 +1 @@
2 4 6 5 6 1 4 1 3 4 5 1 2 4 6 2 3 3 5 5 6 2 1 3 4 4 2 6 2 4 5 6 3 2 1 2 3 1 1 6 4 1 4 4 3 6 1 4 2 6 2 4 5 5 1 4 5 3 4 6 6 5 2 2 4 1 1 5 5 5 2 1 4 3 6 2 4 2 3 6 2 4 4 2 2 3 2 4 5 4 6 3 6 1 1 1 2 2 2 5 3 1 6 6 4 2 1 1 5 5 1 5 1 1 5 1 5 5 2 2 2 2 1 2 4 4 4 4 5 1 6 3 2 4 5 2 2 6 5 3 4 4 6 4 6 1 2 2 5 2 3 6 5 6 4 1 5 1 1 3 3 1 3 6 2 3 1 5 1 3 6 1 1 3 4 1 3 6 3 1 5 4 5 5 3 4 6 2 6 6 1 6 2 6 4 4 6 5 5 3 5 3 2 1 6 1 4 6 1 6 2 4 2 4 6 2 3 4 5 1 2 4 1 3 1 1 5 1 5 2 3 2 6 5 2 6 3 3 4 1 5 3 5 3 3 6 6 2 5 4 3 3 4 5 3 2 6 4 2 6 6 2 3 4 4 3 2 4 5 6 3 5 2 4 2 2 3 1 4 6 3 5 4 5 6 3 5 1 1 4 1 3 4 2 5 5 1 5 1 5 1 3 4 4 5 2 4 3 3 3 2 5 1 4 4 3 6 5 5 1 2 5 5 3 5 4 3 1 3 3 2 4 5 6 4 5 4 4 1 3 3 1 4 3 6 5 3 4 1 3 4 1 6 2 4 3 1 2 1 4 6 1 6 3 3 2 5 3 4 4 5 3 1 3 5 2 5 4 5 4 5 1 1 6 3 6 2 2 6 5 3 6 1 6 4 4 6 6 4 4 4 1 1 4 5 2 1 1 1 5 6 3 6 5 1 4 1 3 5 6 5 4 2 6 2 4 6 6 4 6 1 5 1 1 3 5 3 6 2 3 1 4 3 1 4 1 5 4 3 5 3 5 4 5 4 3 4 5 4 1 4 1 5 2 2 2 5 1 1 5 3 5 1 6 2 1 5 4 4 5 1 5 2 3 2 6 4 1 5 1 5 6 3 4 5 2 5 5 3 2 4 2 4 3 6 2 4 6 6 3 3 5 3 5 6 3 4 6 1 3 3 3 4 3 6 2 4 3 2 4 6 1 5 6 2 2 3 6 3 3 6 3 5 4 3 6 5 1 5 5 3 3 2 6 6 1 2 6 2 3 3 4 6 3 6 3 5 4 3 6 2 4 4 3 3 5 1 1 2 2 3 2 2 6 1 6 1 5 4 6 1 2 4 3 2 3 6 5 5 4 5 6 1 6 6 6 5 4 6 4 1 2 2 4 2 1 2 3 1 3 6 3 5 5 1 6 2 6 2 6 1 3 6 1 2 6 1 3 4 5 2 2 4 6 2 1 5 6 2 6 1 5 5 1 3 3 2 6 1 6 2 4 5 2 6 4 6 3 2 4 6 2 3 5 6 5 5 2 2 2 5 2 6 4 6 2 1 2 3 5 1 2 3 5 1 5 2 4 5 6 1 2 1 5 6 4 2 4 2 3 2 2 4 2 1 2 1 3 3 6 3 1 4 3 5 5 2 6 6 6 1 1 4 5 2 2 2 2 2 3 4 2 5 6 1 6 6 3 1 3 5 5 5 1 5 6 6 5 6 3 1 4 4 3 2 6 2 2 3 4 6 5 2 3 4 1 3 2 5 6 5 6 1 4 4 3 1 3 5 2 4 4 4 3 1 1 4 5 1 4 1 5 6 5 1 5 1 6 1 2 5 1 3 2 6 1 5 3 5 2 1 1 5 6 2 5 2 6 6 5 1 2 6 1 4 4 5 6 3 3 6 6 6 3 6 4 6 4 6 1 1 5 6 5 3 6 6 2 3 2 3 6 4 4 5 3 2 4 4 4 4 6 6 4 6 4 1 5 2 6 2 2 2 5 1 2 6 4 1 1 2 3 4 2 5 5 1 3 2 3 1 3 6 5 2 2 3 6 1 2 4 3 5 4 4 2 5 6 2 5 2 3 4 6 5 4 1 2 4 4 4 6 5 1 3 6 1 1 2 1 5 4 4 4 3 5 1 2 3 6 2 2 5 2 1 5 2 5 5 3 6 6 6 4 1 6 3 6 2 3 6 2 4 4 5 2 6 1 2 5 2 6 6 5 3 2 6 2 4 3 5 6 2 3 5 6 6 3 4 6 6 2 4 1 4 3 1 1 3 2 6 5 5 1 1 5 3 1 4 3 2 3 6 1 1 5 4 2 6 3 5 1 4 5 5 4 3 2 3 5 5 1 4 2 3 5 5 4 4 4 5 1 5 1 4 3 4 4 6 1 4 1 1 5 4 3 6 4 2 5 4 5 1 6 5 5 6 3 1 2 2 5 5 1 5 5 5 4 6 6 6 3 1 5 4 6 2 4 1 5 3 1 5 4 1 3 2 3 1 4 2 1 4 2 5 3 5 1 6 5 3 4 1 5 2 3 6 1 3 2 4 3 3 6 4 6 5 6 4 4 2 5 4 5 5 6 3 4 2 4 6 6 3 6 3 6 3 5 1 1 4 6 1 6 2 4 3 1 1 5 6 6 5 2 4 5 3 4 1 1 3 5 2 3 4 1 5 6 5 1 2 1 2 3 3 3 5 6 4 5 2 3 4 2 2 3 6 4 2 2 4 4 4 5 4 5 3 4 5 6 5 4 5 3 6 2 3 1 3 3 2 6 2 2 1 4 1 2 4 6 3 2 6 6 5 6 1 5 3 1 6 2 2 3 1 1 3 1 5 2 4 3 1 3 4 3 2 6 3 4 1 2 4 6 2 1 3 3 1 6 2 3 4 2 3 3 4 3 3 3 1 4 3 4 1 3 4 5 5 6 2 5 4 3 4 2 6 3 6 4 6 2 5 5 1 5 6 6 5 3 4 2 1 6 4 5 4 5 3 2 6 4 1 3 2 6 2 1 6 4 2 2 4 1 4 4 5 3 4 6 3 5 2 1 4 1 4 3 1 1 5 6 1 1 4 3 6 1 1 3 2 1 2 1 4 5 3 2 1 3 3 1 6 5 5 5 4 5 6 3 1 2 3 1 6 3 3 2 1 6 4 1 2 1 5 3 6 2 2 3 1 2 1 3 3 5 1 3 2 2 6 4 4 1 5 4 3 3 3 5 5 2 4 6 3 5 5 5 6 5 2 2 6 4 5 4 4 3 3 4 5 1 6 1 1 3 3 6 2 2 1 1 1 4 1 4 1 2 4 4 5 5 2 3 6 5 3 5 2 2 6 6 5 6 3 5 3 2 2 1 1 6 2 3 3 1 1 1 2 2 4 6 1 4 2 6 4 5 5 1 4 2 3 3 2 6 1 6 5 2 6 4 1 1 6 3 4 2 1 1 6 3 4 4 6 6 5 4 5 6 5 6 2 3 2 6 4 3 5 3 6 2 2 4 3 6 6 6 1 5 4 1 2 6 6 3 6 5 6 6 5 6 2 4 3 3 1 3 1 5 5 2 5 6 4 3 4 6 3 4 1 2 1 5 1 4 3 6 4 2 2 4 6 4 5 5 3 6 5 6 2 6 1 2 6 5 1 5 3 5 5 3 3 4 6 5 1 2 4 2 2 4 2 2 1 5 2 6 4 3 2 6 1 5 1 5 1 3 1 6 5 4 6 6 4 5 1 5 5 3 2 2 4 4 6 6 6 1 5 5 4 4 3 4 5 3 3 4 2 5 5 2 5 5 4 6 2 6 5 5 4 6 5 1 6 2 3 5 3 4 2 6 6 3 2 1 1 2 2 3 4 5 6 1 5 6 1 4 1 4 4 5 2 6 4 4 5 6 3 1 5 3 6 1 1 6 1 3 2 5 1 3 5 2 3 4 3 6 4 2 6 5 3 5 1 2 4 5 2 6 4 6 4 4 1 4 1 6 4 6 2 4 3 2 1 1 1 3 4 1 2 3 5 5 1 4 2 6 1 1 5 2 4 6 4 2 3 3 6 6 6 3 1 6 5 5 1 1 5 3 5 5 4 4 4 2 5 4 5 1 1 6 2 3 1 5 5 6 2 2 2 3 3 1 5 2 5 5 3 1 1 6 5 5 1 4 6 5 1 3 5 2 3 4 3 5 5 6 2 6 1 4 1 1 1 4 3 3 1 4 2 1 3 4 5 1 2 6 3 2 1 2 5 4 4 1 1 4 4 4 3 5 2 2 2 3 6 3 5 4 1 3 4 3 6 3 5 3 4 4 3 3 3 1 1 1 5 6 6 4 3 4 6 3 3 2 1 6 6 3 4 5 5 4 5 2 6 4 2 6 4 6 2 4 4 1 5 4 2 6 4 1 1 4 3 5

Binary file not shown.

View File

@@ -0,0 +1,250 @@
3 11 19 122 644
3 16 19 120 643
3 21 19 126 639
3 26 19 131 641
3 27 55 124 651
3 31 50 134 649
3 36 50 126 650
3 41 50 129 648
3 46 50 129 647
3 50 22 119 653
3 55 22 111 662
3 55 33 101 669
4 0 33 99 677
4 5 33 91 672
4 10 33 89 670
4 15 33 85 668
4 25 33 86 671
4 30 33 83 680
4 35 33 80 677
4 40 33 88 686
4 45 33 87 690
4 50 33 81 698
4 55 33 74 678
5 5 33 78 684
5 10 33 73 690
5 12 42 70 680
5 17 42 75 687
5 22 42 75 695
5 27 42 68 701
5 32 42 65 694
5 37 42 72 698
5 42 42 76 692
5 47 42 71 699
5 52 42 71 701
5 57 42 77 704
6 2 42 73 709
6 7 42 76 713
6 22 42 94 724
6 32 42 82 698
6 37 42 74 691
6 42 42 81 695
6 47 42 85 692
6 52 42 88 684
6 57 42 95 679
7 2 42 96 682
7 7 42 99 678
7 12 42 104 676
7 17 42 104 682
7 22 42 103 676
7 27 42 94 670
7 31 44 88 660
7 36 44 87 653
7 41 44 85 660
7 46 44 93 656
7 51 44 100 656
7 56 44 96 660
8 1 44 95 662
8 6 44 94 664
8 11 44 87 673
8 16 44 94 665
8 21 44 95 663
8 26 44 104 663
8 31 44 104 658
8 36 44 104 655
8 37 26 112 665
8 42 26 112 674
8 43 29 102 683
8 48 29 110 687
8 53 29 114 692
8 58 29 112 692
9 3 29 112 691
9 8 29 110 693
9 10 1 120 693
9 15 1 111 691
9 20 1 109 685
9 24 10 99 682
9 29 10 100 682
9 30 27 110 690
9 35 27 117 684
9 40 27 119 675
9 45 27 118 682
9 50 27 121 684
9 55 27 126 690
10 0 27 123 689
10 5 27 119 694
10 10 27 127 685
10 15 27 121 694
10 20 27 125 700
10 25 27 129 703
10 30 27 125 702
10 35 27 123 707
10 38 59 113 705
10 43 59 109 700
10 44 45 111 690
10 46 26 121 690
10 47 50 111 696
10 48 17 121 687
10 51 38 131 696
10 56 38 135 698
11 1 38 140 693
11 6 38 141 694
11 11 38 143 696
11 16 38 136 688
11 21 38 132 687
11 26 38 128 679
11 31 38 122 683
11 34 19 132 674
11 39 19 139 665
11 40 48 147 675
11 43 45 137 673
11 48 45 133 678
11 49 59 143 679
11 54 59 136 683
11 56 52 126 682
12 1 52 134 676
12 2 46 124 674
12 7 46 123 681
12 12 46 116 681
12 17 46 109 672
12 22 46 114 675
12 26 29 113 665
12 31 29 116 663
12 36 29 112 662
12 41 29 106 664
12 41 32 113 674
12 41 48 123 683
12 46 48 114 687
12 51 39 104 677
12 56 39 103 686
13 1 39 109 690
13 5 53 119 699
13 9 40 109 706
13 14 40 112 708
13 19 40 110 699
13 24 40 113 692
13 29 40 114 700
13 34 40 108 691
13 39 40 99 682
13 44 40 95 680
13 48 25 89 690
13 53 25 84 687
13 58 25 79 685
14 3 25 83 678
14 8 25 83 672
14 11 49 83 662
14 16 49 92 663
14 21 49 100 660
14 26 49 97 661
14 31 49 100 658
14 36 49 104 666
14 41 49 110 664
14 46 49 102 663
14 51 49 102 659
14 51 50 108 669
14 56 50 107 672
14 58 31 103 682
15 3 31 95 682
15 8 31 99 678
15 13 31 98 680
15 18 31 101 673
15 23 31 96 666
15 26 18 92 676
15 31 18 100 679
15 31 51 98 689
15 36 1 95 679
15 41 1 87 676
15 46 1 88 675
15 51 1 89 671
15 56 1 86 677
16 1 1 88 682
16 5 16 83 672
16 10 16 82 664
16 15 16 81 666
16 20 16 74 661
16 25 16 67 661
16 27 36 69 651
16 32 36 74 642
16 37 36 70 649
16 42 36 76 656
16 47 36 73 659
16 52 36 82 662
16 57 36 78 662
17 2 36 72 662
17 6 34 69 672
17 11 34 78 675
17 15 7 75 685
17 16 19 85 683
17 21 19 85 688
17 24 20 76 678
17 29 20 71 671
17 30 3 72 661
17 31 4 82 670
17 36 4 89 664
17 41 4 83 666
17 46 4 77 670
17 51 4 85 671
17 56 4 77 673
18 1 4 70 670
18 5 52 73 680
18 10 52 69 688
18 15 52 70 680
18 20 52 68 682
18 25 52 65 685
18 30 52 58 692
18 35 52 62 689
18 40 52 57 694
18 44 20 52 684
18 49 20 46 682
18 54 20 45 681
18 59 20 49 672
19 4 20 44 678
19 9 20 42 669
19 14 20 35 662
19 19 20 30 665
19 22 45 20 671
19 27 45 14 670
19 32 45 6 673
19 37 45 6 669
19 42 45 5 676
19 47 45 12 681
19 52 45 20 689
19 57 45 26 685
20 0 34 27 695
20 4 31 17 700
20 9 31 13 699
20 14 31 17 699
20 19 31 20 705
20 24 31 26 712
20 29 31 25 708
20 33 24 20 718
20 38 24 29 725
20 43 24 29 723
20 48 24 20 726
20 53 24 23 717
20 55 40 17 727
21 0 40 21 721
21 5 40 13 727
21 10 40 4 722
21 15 40 11 721
21 20 40 12 718
21 25 40 19 711
21 30 40 13 720
21 33 27 21 710
21 38 27 27 719
21 43 27 29 714
21 48 27 31 708
21 50 21 40 698
21 53 59 50 706
21 58 59 44 713
22 3 59 36 713

View File

@@ -0,0 +1,71 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\szabomarton\\Desktop\\Emelt \u00E9retts\u00E9gi feladatok\\jelado\\ConsoleApp1\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{32EC9C14-0182-4188-8CD1-B96EC715F93C}|ConsoleApp1\\ConsoleApp1.csproj|c:\\users\\szabomarton\\desktop\\emelt \u00E9retts\u00E9gi feladatok\\jelado\\consoleapp1\\consoleapp1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{32EC9C14-0182-4188-8CD1-B96EC715F93C}|ConsoleApp1\\ConsoleApp1.csproj|solutionrelative:consoleapp1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{32EC9C14-0182-4188-8CD1-B96EC715F93C}|ConsoleApp1\\ConsoleApp1.csproj|c:\\users\\szabomarton\\desktop\\emelt \u00E9retts\u00E9gi feladatok\\jelado\\consoleapp1\\consoleapp1\\coords.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{32EC9C14-0182-4188-8CD1-B96EC715F93C}|ConsoleApp1\\ConsoleApp1.csproj|solutionrelative:consoleapp1\\coords.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{32EC9C14-0182-4188-8CD1-B96EC715F93C}|ConsoleApp1\\ConsoleApp1.csproj|c:\\users\\szabomarton\\desktop\\emelt \u00E9retts\u00E9gi feladatok\\jelado\\consoleapp1\\consoleapp1\\jel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{32EC9C14-0182-4188-8CD1-B96EC715F93C}|ConsoleApp1\\ConsoleApp1.csproj|solutionrelative:consoleapp1\\jel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 2,
"Children": [
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "Coords.cs",
"DocumentMoniker": "C:\\Users\\szabomarton\\Desktop\\Emelt \u00E9retts\u00E9gi feladatok\\jelado\\ConsoleApp1\\ConsoleApp1\\Coords.cs",
"RelativeDocumentMoniker": "ConsoleApp1\\Coords.cs",
"ToolTip": "C:\\Users\\szabomarton\\Desktop\\Emelt \u00E9retts\u00E9gi feladatok\\jelado\\ConsoleApp1\\ConsoleApp1\\Coords.cs",
"RelativeToolTip": "ConsoleApp1\\Coords.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAAjAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-03-25T11:17:26.101Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "Jel.cs",
"DocumentMoniker": "C:\\Users\\szabomarton\\Desktop\\Emelt \u00E9retts\u00E9gi feladatok\\jelado\\ConsoleApp1\\ConsoleApp1\\Jel.cs",
"RelativeDocumentMoniker": "ConsoleApp1\\Jel.cs",
"ToolTip": "C:\\Users\\szabomarton\\Desktop\\Emelt \u00E9retts\u00E9gi feladatok\\jelado\\ConsoleApp1\\ConsoleApp1\\Jel.cs",
"RelativeToolTip": "ConsoleApp1\\Jel.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAB8AAAApAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-03-25T10:46:21.65Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "Program.cs",
"DocumentMoniker": "C:\\Users\\szabomarton\\Desktop\\Emelt \u00E9retts\u00E9gi feladatok\\jelado\\ConsoleApp1\\ConsoleApp1\\Program.cs",
"RelativeDocumentMoniker": "ConsoleApp1\\Program.cs",
"ToolTip": "C:\\Users\\szabomarton\\Desktop\\Emelt \u00E9retts\u00E9gi feladatok\\jelado\\ConsoleApp1\\ConsoleApp1\\Program.cs",
"RelativeToolTip": "ConsoleApp1\\Program.cs",
"ViewState": "AgIAADQAAAAAAAAAAAAIwEYAAAAyAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-03-25T10:44:41.364Z",
"EditorCaption": ""
}
]
}
]
}
]
}

View File

@@ -0,0 +1,71 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\Users\\szabomarton\\Desktop\\Emelt \u00E9retts\u00E9gi feladatok\\jelado\\ConsoleApp1\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{32EC9C14-0182-4188-8CD1-B96EC715F93C}|ConsoleApp1\\ConsoleApp1.csproj|c:\\users\\szabomarton\\desktop\\emelt \u00E9retts\u00E9gi feladatok\\jelado\\consoleapp1\\consoleapp1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{32EC9C14-0182-4188-8CD1-B96EC715F93C}|ConsoleApp1\\ConsoleApp1.csproj|solutionrelative:consoleapp1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{32EC9C14-0182-4188-8CD1-B96EC715F93C}|ConsoleApp1\\ConsoleApp1.csproj|c:\\users\\szabomarton\\desktop\\emelt \u00E9retts\u00E9gi feladatok\\jelado\\consoleapp1\\consoleapp1\\coords.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{32EC9C14-0182-4188-8CD1-B96EC715F93C}|ConsoleApp1\\ConsoleApp1.csproj|solutionrelative:consoleapp1\\coords.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{32EC9C14-0182-4188-8CD1-B96EC715F93C}|ConsoleApp1\\ConsoleApp1.csproj|c:\\users\\szabomarton\\desktop\\emelt \u00E9retts\u00E9gi feladatok\\jelado\\consoleapp1\\consoleapp1\\jel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{32EC9C14-0182-4188-8CD1-B96EC715F93C}|ConsoleApp1\\ConsoleApp1.csproj|solutionrelative:consoleapp1\\jel.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 2,
"Children": [
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "Coords.cs",
"DocumentMoniker": "C:\\Users\\szabomarton\\Desktop\\Emelt \u00E9retts\u00E9gi feladatok\\jelado\\ConsoleApp1\\ConsoleApp1\\Coords.cs",
"RelativeDocumentMoniker": "ConsoleApp1\\Coords.cs",
"ToolTip": "C:\\Users\\szabomarton\\Desktop\\Emelt \u00E9retts\u00E9gi feladatok\\jelado\\ConsoleApp1\\ConsoleApp1\\Coords.cs",
"RelativeToolTip": "ConsoleApp1\\Coords.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAAjAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-03-25T11:17:26.101Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "Jel.cs",
"DocumentMoniker": "C:\\Users\\szabomarton\\Desktop\\Emelt \u00E9retts\u00E9gi feladatok\\jelado\\ConsoleApp1\\ConsoleApp1\\Jel.cs",
"RelativeDocumentMoniker": "ConsoleApp1\\Jel.cs",
"ToolTip": "C:\\Users\\szabomarton\\Desktop\\Emelt \u00E9retts\u00E9gi feladatok\\jelado\\ConsoleApp1\\ConsoleApp1\\Jel.cs",
"RelativeToolTip": "ConsoleApp1\\Jel.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAB8AAAApAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-03-25T10:46:21.65Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "Program.cs",
"DocumentMoniker": "C:\\Users\\szabomarton\\Desktop\\Emelt \u00E9retts\u00E9gi feladatok\\jelado\\ConsoleApp1\\ConsoleApp1\\Program.cs",
"RelativeDocumentMoniker": "ConsoleApp1\\Program.cs",
"ToolTip": "C:\\Users\\szabomarton\\Desktop\\Emelt \u00E9retts\u00E9gi feladatok\\jelado\\ConsoleApp1\\ConsoleApp1\\Program.cs",
"RelativeToolTip": "ConsoleApp1\\Program.cs",
"ViewState": "AgIAADQAAAAAAAAAAAAIwE4AAAAJAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-03-25T10:44:41.364Z",
"EditorCaption": ""
}
]
}
]
}
]
}

View File

@@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.11.35312.102
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleApp1", "ConsoleApp1\ConsoleApp1.csproj", "{32EC9C14-0182-4188-8CD1-B96EC715F93C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{32EC9C14-0182-4188-8CD1-B96EC715F93C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{32EC9C14-0182-4188-8CD1-B96EC715F93C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{32EC9C14-0182-4188-8CD1-B96EC715F93C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{32EC9C14-0182-4188-8CD1-B96EC715F93C}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {8602F7C4-0BB9-4064-A0DC-3E9DE344440B}
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>

View File

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{32EC9C14-0182-4188-8CD1-B96EC715F93C}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>ConsoleApp1</RootNamespace>
<AssemblyName>ConsoleApp1</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Coords.cs" />
<Compile Include="Jel.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
public class Coords
{
public int X;
public int Y;
public Coords(int x, int y) {
this.X = x; this.Y = y;
}
}
}

View File

@@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
public class Jel
{
public int Ora;
public int Perc;
public int Masodperc;
public int X;
public int Y;
public DateTime Idopont;
public Coords Koordinata;
public Jel(int ora, int perc, int masodperc, int x, int y) {
this.Ora = ora;
this .Perc = perc;
this.Masodperc = masodperc;
this.X = x;
this.Y = y;
DateTime now = DateTime.Now;
this.Idopont = new DateTime(now.Year, now.Month, now.Day,ora, perc, masodperc);
Koordinata = new Coords(x,y);
}
}
}

View File

@@ -0,0 +1,138 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
string path = $@"..\..\..\..\..\jel.txt";
var adat = File.ReadAllLines(path);
List<Jel> jelek = new List<Jel>();
foreach (var item in adat)
{
string[] line = item.Split(' ');
int ora = int.Parse(line[0]);
int perc = int.Parse(line[1]);
int masodperc = int.Parse(line[2]);
int x = int.Parse(line[3]);
int y = int.Parse(line[4]);
Jel jel = new Jel(ora, perc, masodperc, x, y);
jelek.Add(jel);
}
Console.WriteLine("Adj meg egy számot:\t");
int bekertSorszam = Convert.ToInt32(Console.ReadLine()) - 1;
Console.WriteLine($"x:{jelek[bekertSorszam].X}, y:{jelek[bekertSorszam].Y}");
Jel jel1 = jelek[0];
Jel jel2 = jelek[jelek.Count - 1];
Console.WriteLine($"4. feladat: {Eltelt(jel1.Idopont, jel2.Idopont)}");
Coords legkisebb = Legkisebb(jelek);
Coords legnagyobb = Legnagyobb(jelek);
Console.WriteLine($"legkisebb x:{legkisebb.X}, y:{legkisebb.Y}");
Console.WriteLine($"legnagyobb x:{legnagyobb.X}, y:{legnagyobb.Y}");
List<double> elmozdulasok = new List<double>();
for (int i = 0; i < jelek.Count - 1; i++)
{
elmozdulasok.Add(Distance(jelek[i].Koordinata, jelek[i + 1].Koordinata));
}
Console.WriteLine(Math.Round(elmozdulasok.Sum(),3));
for (int i = 0; i < jelek.Count - 1; i++)
{
Coords elteresek = new Coords(
Math.Abs(
jelek[i].Koordinata.X -
jelek[i + 1].Koordinata.X ),
Math.Abs(
jelek[i].Koordinata.Y -
jelek[i + 1].Koordinata.Y)
);
if (elteresek.X > 10 || elteresek.Y > 10)
{
Console.WriteLine($"{jelek[i+1].Idopont} koordináta eltérés");
}
if (Eltelt(jelek[i].Idopont, jelek[i + 1].Idopont).Minutes > 5)
{
Console.WriteLine($"{jelek[i+1].Idopont} időpont eltérés");
}
}
}
public static double Distance(Coords coords1, Coords coords2)
{
return Math.Sqrt( Math.Pow((coords1.X - coords2.X), 2) + Math.Pow((coords1.Y - coords2.Y), 2));
}
public static Coords Legnagyobb(List<Jel> jelek)
{
Coords legnagyobb = new Coords(122, 644);
foreach (var item in jelek)
{
if (item.Koordinata.Y > legnagyobb.Y)
{
legnagyobb.Y = item.Koordinata.Y;
}
if (item.Koordinata.X > legnagyobb.X)
{
legnagyobb.X = item.Koordinata.X;
}
}
return legnagyobb;
}
public static Coords Legkisebb(List<Jel> jelek)
{
Coords legkisebb = new Coords(122, 644);
foreach (var item in jelek)
{
if (item.Koordinata.Y < legkisebb.Y)
{
legkisebb.Y = item.Koordinata.Y;
}
if (item.Koordinata.X < legkisebb.X)
{
legkisebb.X = item.Koordinata.X;
}
}
return legkisebb;
}
public static TimeSpan Eltelt(DateTime kezdet, DateTime veg)
{
if (veg > kezdet)
{
DateTime temp = veg;
veg = kezdet;
kezdet = temp;
}
return kezdet - veg;
}
}
}

View File

@@ -0,0 +1,33 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("ConsoleApp1")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ConsoleApp1")]
[assembly: AssemblyCopyright("Copyright © 2025")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("32ec9c14-0182-4188-8cd1-b96ec715f93c")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>

Some files were not shown because too many files have changed in this diff Show More