{"id":21457741,"url":"https://github.com/chevrierdev/eonsight-technical-test","last_synced_at":"2026-02-09T12:31:11.497Z","repository":{"id":250445909,"uuid":"832228921","full_name":"ChevrierDev/eOnsight-technical-test","owner":"ChevrierDev","description":"A technical test project using Django, Django Rest Framework, PostgreSQL, and PostGIS for a backend that handles geospatial data. The frontend is built with React, TypeScript, TailwindCSS, and Chart.js, featuring a dashboard for data manipulation, pie chart visualization, and real-time bridge locations using latitude and longitude.","archived":false,"fork":false,"pushed_at":"2024-11-17T13:24:11.000Z","size":849,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-08T18:54:18.414Z","etag":null,"topics":["django","django-rest-framework","postgis","postgresql","python","react","tailwindcss","typrescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/ChevrierDev.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-07-22T15:22:29.000Z","updated_at":"2024-11-17T13:26:13.000Z","dependencies_parsed_at":"2024-07-27T14:23:23.685Z","dependency_job_id":"edb6a52c-d79f-4395-b135-f68555e4b0c8","html_url":"https://github.com/ChevrierDev/eOnsight-technical-test","commit_stats":null,"previous_names":["chevrierdev/eonsight-internship-test"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ChevrierDev/eOnsight-technical-test","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChevrierDev%2FeOnsight-technical-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChevrierDev%2FeOnsight-technical-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChevrierDev%2FeOnsight-technical-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChevrierDev%2FeOnsight-technical-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChevrierDev","download_url":"https://codeload.github.com/ChevrierDev/eOnsight-technical-test/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChevrierDev%2FeOnsight-technical-test/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265385737,"owners_count":23756728,"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":["django","django-rest-framework","postgis","postgresql","python","react","tailwindcss","typrescript"],"created_at":"2024-11-23T06:06:40.469Z","updated_at":"2026-02-09T12:31:11.196Z","avatar_url":"https://github.com/ChevrierDev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# eOnsight-test local deployement instruction\n\n## Bridge Status Dashboard\nThis project is a web application for monitoring the status of various bridges, including their inspection dates, conditions, traffic loads, and geospatial locations. The application provides features such as filtering, searching, and a pie chart visualization of bridge conditions. Additionally, it includes a map for visualizing bridge locations based on geospatial data.\n\n## Features\nBridge Table: View and manage bridges, including adding, editing, and deleting entries.\u003cbr\u003e\nFiltering and Searching: Filter bridges by inspection date, status, and traffic load, and search by bridge name.\u003cbr\u003e\nPie Chart Visualization: Visualize the distribution of bridge conditions using Chart.js.\u003cbr\u003e\nMap Localization: Display bridge locations on a map using geospatial data.\n\n## Technologies Used\n### Backend\nPostgreSQL: Database for storing bridge data.\u003cbr\u003e\nPostGIS: Extension to PostgreSQL that provides geospatial data support.\u003cbr\u003e\nPython: for backend logic.\u003cbr\u003e\nDjango: Web framework for building the backend.\u003cbr\u003e\nDjango REST Framework: Toolkit for building Web API.\n### Frontend\nReact.js: JavaScript library for building the user interface.\u003cbr\u003e\nTypeScript: Superset of JavaScript for adding static types.\u003cbr\u003e\nTailwindCSS: Utility-first CSS framework for styling.\u003cbr\u003e\nChart.js: JavaScript library for creating charts, used for the pie chart visualization.\n\n## Local Setup\n### Prerequisites\nNode.js: Ensure you have Node.js latest v installed (https://nodejs.org/). \u003cbr\u003e\nPython: Ensure you have Python  latest v installed (https://www.python.org/).\u003cbr\u003e\nPostgreSQL: Ensure you have PostgreSQL latest v installed (https://www.postgresql.org/).\u003cbr\u003e\nOSGeo4W: You will need to download OSGeo4W from (https://trac.osgeo.org/osgeo4w/). OSGeo4W is necessary for handling geospatial data and libraries in my setup. You can install it now or wait until the server setup phase, where the README will provide detailed instructions on its configuration and use.\n\n### Important Setup Instructions\nBefore setting up the client or server environments, you must read the \u003ca href='https://github.com/ChevrierDev/eOnsight-Internship-test/blob/main/full-stack-assessment-test-candidate/SETUP_DATABASE.md'\u003eSETUP_DATABASE.md\u003c/a\u003e file located in the \u003ca href='https://github.com/ChevrierDev/eOnsight-Internship-test/tree/main/full-stack-assessment-test-candidate'\u003efull-stack-assessment-test-candidate directory\u003c/a\u003e. This file contains detailed instructions on how to set up the database, which must be ready before proceeding with the client or server setup.\nAfter setting up the database, refer to the README files in the client and server directories for further instructions on how to set up each environment.\n\n### Populate Data base\nOnce the database is set up, you can populate it by executing the \u003ca href='https://github.com/ChevrierDev/eOnsight-Internship-test/blob/main/full-stack-assessment-test-candidate/import_csv_to_db.py'\u003eimport_csv_to_db.py\u003c/a\u003e file located in the \u003ca href='https://github.com/ChevrierDev/eOnsight-Internship-test/tree/main/full-stack-assessment-test-candidate'\u003efull-stack-assessment-test-candidate directory\u003c/a\u003e.\u003cbr\u003e\n1- Open your terminal or command prompt.\u003cbr\u003e\n2- Navigate to the full-stack-assessment-test-candidate directory by running the following command from the root directory:\n```\ncd full-stack-assessment-test-candidate\n\n```\n3- Execute the script to import the data:\n```\npython import_csv_to_db.py\n\n```\nAfter executing the script, you can verify that the data has been correctly imported by running the \u003ca href='https://github.com/ChevrierDev/eOnsight-Internship-test/blob/main/full-stack-assessment-test-candidate/verify_import_csv_to_db.py'\u003everify_import_csv_to_db.py\u003c/a\u003e script:\n```\npython verify_import_csv_to_db.py\n\n```\n\n### Next Steps\nNow that your database is set up and populated, you can proceed to set up the client and server environments. Detailed instructions for setting up these environments can be found in the respective README files located in the server and client directories.\nPlease refer to these README files for the following: \u003cbr\u003e \n\u003ca href='https://github.com/ChevrierDev/eOnsight-Internship-test/blob/main/client/README.md'\u003eClient Setup Instructions\u003c/a\u003e \u003cbr\u003e\n\u003ca href='https://github.com/ChevrierDev/eOnsight-Internship-test/blob/main/server/README.md'\u003eServer Setup Instructions \u003c/a\u003e\n\n\n\nThe next instructions you will see in this README will focus on setting up the root environment of the project.\n\n## Root Directory Setup\n#### Install Dependencies\nTo set up the root directory, you need to install the necessary dependencies. This project uses concurrently to manage multiple processes simultaneously, such as running the client, server, and Tailwind CSS watcher.\u003cbr\u003e\n1- Open a terminal.\u003cbr\u003e\n2- Navigate to the root directory of the project.\u003cbr\u003e\n3- Run the following command to install the dependencies listed in the package.json file:\n```\nnpm install\n\n```\n#### Use Concurrently\nOnce the dependencies are installed, you will be able to use concurrently to automate the process of running the client, server, and Tailwind CSS watcher simultaneously. The concurrently module allows you to manage these processes efficiently, making development easier and faster.\n\nYou will find specific scripts in the package.json file that use concurrently to run all these services together. After setting up the client and server environments as described in their respective README files, you will be able to start all the necessary services with a single command.\n\n#### Warning\nThe server script in package.json is designed to activate the virtual environment and run the Django development server. Here’s the script:\n```\n\"scripts\": {\n  \"server\": \"cd server \u0026\u0026 .\\\\djangoenv\\\\Scripts\\\\activate \u0026\u0026 python manage.py runserver\"\n}\n```\nin this script, djangoenv is the name given to the virtual environment. If your virtual environment is named djangoenv and is located in the server directory, you can use this command as is.\n\nHowever, if you have named your virtual environment differently, you will need to update djangoenv to the name of your virtual environment.\n\n## Finishing Up\nNow you have finished setting up the root directory. You can proceed to set up the server and the client environments.\n\nI recommend starting with the server setup. Please refer to the README files in the server and client directories for detailed instructions on how to set up each environment.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchevrierdev%2Feonsight-technical-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchevrierdev%2Feonsight-technical-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchevrierdev%2Feonsight-technical-test/lists"}