{"id":22218305,"url":"https://github.com/coders-school/car-dashboard","last_synced_at":"2026-01-04T23:52:15.942Z","repository":{"id":219607352,"uuid":"745825516","full_name":"coders-school/car-dashboard","owner":"coders-school","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-14T00:24:44.000Z","size":37702,"stargazers_count":2,"open_issues_count":27,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-04-14T14:57:27.759Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"QML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coders-school.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-01-20T08:57:57.000Z","updated_at":"2024-04-16T19:45:07.500Z","dependencies_parsed_at":"2024-02-06T17:30:56.087Z","dependency_job_id":"0d21abc0-9a8f-499c-92d1-f781f4bd9110","html_url":"https://github.com/coders-school/car-dashboard","commit_stats":null,"previous_names":["coders-school/car-dashboard"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coders-school%2Fcar-dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coders-school%2Fcar-dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coders-school%2Fcar-dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coders-school%2Fcar-dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coders-school","download_url":"https://codeload.github.com/coders-school/car-dashboard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245414550,"owners_count":20611367,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-02T22:20:13.666Z","updated_at":"2026-01-04T23:52:15.901Z","avatar_url":"https://github.com/coders-school.png","language":"QML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Car Dashboard\n\n## Main goal\nCreate a modern Car Dashboar using QT framework(QT creator, QT desinger).\n\n## How to start?\n1. Download QT Framewrk.\n2. Clone the repository.\n3. Open QT Design.\n4. Open project by clicking in project direcotry the \"CarDashboard.qml\" file.\n\n## Example and division of Classes\n\n![Picture](Picture/CarCockpitTestV1.jpg)\n\n## Development\n- C++20 (recommended g++ or clang++)\n- CMake 3.21.1\n- Qt 6.7.0\n- Qt Design Studio 4.4\n- Qt Creator 13.0\n- clang-format\n- clang-tidy\n- cppcheck\n- ninja\n- valgrind\n\n### Clone repository\n- clone repository: `https://github.com/coders-school/car-dashboard`\n\n### Qt\nYou can open project with:\n- Qt Design Studio\n    - Run Qt Design Studio and open CarDashboard.qmlproject file.\n    - User settings are saved in CarDashboard.qmlproject.qtds.\n- Qt Creator\n    - Run Qt Creator and open CMakeLists.txt file.\n    - User settings are saved in CMakeLists.txt.user.\n\n#### Generate CMake\nIf you added files in Qt Design Studio (.qml, .png, .svg, ...), you must generete CMake by run executable file.\nOpen Qt Design. Then File \u003e Export \u003e Generate CMake. In details select CMakes which you want generate and click ok.\n`Warning: Please commit before generate`\n\n### Run from terminal\n#### 1. Run cmake\n- For Unix\n```\ncmake -S \u003cPROJECT DIR\u003e -B \u003cBUILD DIR\u003e -DCMAKE_PREFIX_PATH=[QT DIR]/[QT VERSION]/gcc_64 ...\n```\n- For Windows\n```\ncmake -S \u003cPROJECT DIR\u003e -B \u003cBUILD DIR\u003e -DCMAKE_PREFIX_PATH=[QT DIR]/[QT VERSION]/mingw ...\n```\nExample:\n```\ncmake -S . -B build -DCMAKE_PREFIX_PATH=/home/user/Qt/6.7.0/gcc_64 -G Ninja\n```\nOr\n```\nmkdir build\ncd build\ncmake .. -DCMAKE_PREFIX_PATH=/home/user/Qt/6.7.0/gcc_64\n```\n#### 2. Build\n```\ncmake --build \u003cPROJECT DIR\u003e\n```\nFor ninja:\n```\nninja -C \u003cBUILD DIR\u003e\n```\nExamples:\n```\ncmake --build build\nninja -C build\n```\n#### 3. Run\n```\n./\u003cBUILD DIR\u003e/CarDashboardApp\n```\n#### 4. Unit tests\n````\nctest --test-dir \u003cBUILD DIR\u003e\n````\nFor ninja:\n```\nninja -C \u003cBUILD DIR\u003e test\n```\nOr run executable file directly:\n```\n./build/utest/CarDashboardApp_UnitTest\n./build/utestQml/CarDashboardApp_UnitTestQml\n```\n\n### Code analysis\n#### CMake targets\nCMake provided following targets for code analysis:\n- `clang-format` - formating code\n- `clang-format-check` - check formating without chagned code\n- `cppcheck-check` - run cppcheck\n- `clang-tidy-check` - run clang-tidy without chagned code\n- `clang-tidy-fix` - run clang-tidy and fix code\n\nRun cmake target:\n```\ncmake --build \u003cBUILD DIR\u003e --target \u003cTARGET NAME\u003e\n```\nFor ninja\n```\nninja -C build \u003cTARGET NAME\u003e\n```\n\n#### clang-format\nCMake targets:\n- clang-format\n- clang-format-check\n\n#### cppcheck\nCMake targets:\n- cppcheck-check\n\n#### clang-tidy\nCMake targets:\n- clang-tidy-check\n- clang-tidy-fix\n\n#### pre-commit\nIn the project is added `pre-commit`, which is run before commit.\nIf an error occurred, try: `pip install --force-reinstall -U pre-commit`\n\n##### Set up:\n```\npre-commit install\n```\n\n#### valgrind\n```\nvalgrind --leak-check=full \\\n         --show-leak-kinds=all \\\n         --track-origins=yes \\\n         --verbose \\\n         ./\u003cBUILD DIR\u003e/CarDashboardApp\n```\n\n## Description\n\n### $${\\color{red}1.Class \\space Car \\space Gauges}$$\n\n- Speed Gauge\n- RPM Gauge\n- Additional: timer, thermometer etc.\n\n### $${\\color{blue}2.Class \\space 3D \\space Car}$$\n\n- 3D car model that can be moved by mouse\n- Open doors and trunk by using buttons on screen\n\n### $${\\color{yellow}3.Class \\space A/C \\space Sit \\space Control}$$\n\n- Change the temperature by using A/C button\n- Change the postion of sit by using sit control button\n\n### $${\\color{green}4.Class \\space Phone \\space Calling}$$\n\n- Choose number to call\n- Adding new phone numbers to phone book\n\n### $${\\color{purple}5.Class \\space Music \\space Player}$$\n\n- Change music\n- Change beetwen radio and songs\n- Mute, volume etc.\n\n### $${\\color{grey}6.Class \\space Navigation}$$\n\n- Navigation map\n- Search tool bar\n\n\n### $${\\color{brown}7.Class \\space Menu}$$\n\n- Switching menu beetwen classes (apart from Gauges)\n- Seperate Right from the Left side of the screen\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoders-school%2Fcar-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoders-school%2Fcar-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoders-school%2Fcar-dashboard/lists"}