{"id":15047354,"url":"https://github.com/gemmus/datastructure_and_algorithm_project","last_synced_at":"2026-02-06T21:01:41.019Z","repository":{"id":223335176,"uuid":"759887307","full_name":"Gemmus/DataStructure_and_Algorithm_Project","owner":"Gemmus","description":"Raspberry Pi 4 project for measuring insertion and search algorithms.","archived":false,"fork":false,"pushed_at":"2024-02-28T14:14:33.000Z","size":7844,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T15:59:11.964Z","etag":null,"topics":["chrono","cpp11","lighttpd","raspberry-pi"],"latest_commit_sha":null,"homepage":"","language":"C++","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/Gemmus.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,"publiccode":null,"codemeta":null}},"created_at":"2024-02-19T14:25:20.000Z","updated_at":"2024-02-25T17:24:22.000Z","dependencies_parsed_at":"2024-09-28T23:41:01.648Z","dependency_job_id":"62789810-b209-4c62-88e6-f04a4bd649ed","html_url":"https://github.com/Gemmus/DataStructure_and_Algorithm_Project","commit_stats":null,"previous_names":["gemmus/datastructure_and_algorithm_project"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gemmus%2FDataStructure_and_Algorithm_Project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gemmus%2FDataStructure_and_Algorithm_Project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gemmus%2FDataStructure_and_Algorithm_Project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gemmus%2FDataStructure_and_Algorithm_Project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Gemmus","download_url":"https://codeload.github.com/Gemmus/DataStructure_and_Algorithm_Project/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243475328,"owners_count":20296714,"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":["chrono","cpp11","lighttpd","raspberry-pi"],"created_at":"2024-09-24T20:57:04.811Z","updated_at":"2026-02-06T21:01:41.010Z","avatar_url":"https://github.com/Gemmus.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Data Structure and Algorithm Project with Raspberry Pi 4 model B\n\n## Installation\n\n### (1) Raspberry Pi OS Setup\n\nEnsure that the Raspberry Pi OS is installed and configured on Raspberry Pi 4. The latest version of the Raspberry Pi OS from the official Raspberry Pi website and follow the installation instructions provided.\n\n### (2) Dependency Check\n\nVerify that the Debian-based system on your Raspberry Pi has the following dependencies installed:\n\u003cul\u003e\n  \u003cli\u003emake: A build automation tool used to compile and build software projects.\u003c/li\u003e\n  \u003cli\u003ecmake: A cross-platform build system generator used to control the software compilation process.\u003c/li\u003e\n  \u003cli\u003egcc: The GNU Compiler Collection, which includes compilers for C, C++, and other programming languages.\u003c/li\u003e\n  \u003cli\u003elighttpd: The Lightweight HTTP Server, which will be used to serve the frontend interface and facilitate communication with the backend.\u003c/li\u003e\n\u003c/ul\u003e\nYou can install these dependencies using the package manager (apt-get) on Debian-based systems:\n```\nsudo apt-get update\nsudo apt-get install make cmake gcc lighttpd\n```\n\n### (3) Project Setup\nClone the project repository containing the source code and necessary files to your Raspberry Pi:\n```\ngit clone \u003cproject_repository_url\u003e\n```\nNavigate to the project directory:\n```\ncd \u003cproject_directory\u003e\n```\n\n### (4) Frontend Setup\n\nConfigure the lighttpd web server to serve the frontend interface. Ensure that the lighttpd.conf settings and flags are correctly configured to allow access to the frontend files.\n\nCopy the frontend files (HTML, CSS, JavaScript) to the appropriate directory in the lighttpd web server root directory. This project is set up to be located at /var/www/dsaproject/html.\n```\nsudo cp -r DataStructure_and_Algorithm_Project/Frontend/* /var/www/dsaproject/html/\n```\n### (5) Backend Setup\n\nCompile the main.cpp file, which contains the backend functionalities responsible for processing measurement data:\n\n```\ncmake CMakeLists.txt\nmake \n```\n\nCopy the compiled executable file (DataStructAlg) to the CGI directory (cgi-bin) of the lighttpd web server:\n```\nsudo cp DataStructAlg /var/www/dsaproject/html/cgi-bin/\n```\n### (6) Configuration Check\n\nVerify that the lighttpd.conf settings and flags are correctly configured to enable CGI execution and access to the backend executable. Ensure that the necessary permissions are set to allow execution of the CGI scripts.\n```\nsudo nano /etc/lighttpd/lighttpd.conf\n```\nRestart the lighttpd web server to apply the configuration changes:\n```\nsudo service lighttpd force-reload\n```\nDeploy project in web browser by typing in http://127.0.0.1:8008 to the address bar.\n\n## User Interface \n![image](https://github.com/Gemmus/DataStructure_and_Algorithm_Project/assets/112064697/664b6b5b-83b1-4303-9629-7f48a86ae27a)\n\u003cbr\u003e\u003csmall\u003e_Figure 1: UI_\u003c/small\u003e\u003cbr\u003e \n\n![image](https://github.com/Gemmus/DataStructure_and_Algorithm_Project/assets/112064697/4aac03be-ec2f-4ed8-916a-0df0f5f6569f)\n\u003cbr\u003e\u003csmall\u003e_Figure 2: Result of Measurement_\u003c/small\u003e\u003cbr\u003e \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgemmus%2Fdatastructure_and_algorithm_project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgemmus%2Fdatastructure_and_algorithm_project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgemmus%2Fdatastructure_and_algorithm_project/lists"}