{"id":24904564,"url":"https://github.com/motiroir/annuaire","last_synced_at":"2026-04-28T20:33:03.842Z","repository":{"id":274816266,"uuid":"892126312","full_name":"motiroir/annuaire","owner":"motiroir","description":"Development of an intern directory with an efficient search system: binary search tree with CRUD management in a binary file.","archived":false,"fork":false,"pushed_at":"2025-01-29T14:36:12.000Z","size":1085,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-29T15:32:17.589Z","etag":null,"topics":["binary-files","binary-search-tree","java","javafx"],"latest_commit_sha":null,"homepage":"","language":"Java","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/motiroir.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-11-21T14:56:21.000Z","updated_at":"2025-01-29T14:36:16.000Z","dependencies_parsed_at":"2025-01-29T15:42:56.212Z","dependency_job_id":null,"html_url":"https://github.com/motiroir/annuaire","commit_stats":null,"previous_names":["motiroir/annuaire"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/motiroir%2Fannuaire","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/motiroir%2Fannuaire/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/motiroir%2Fannuaire/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/motiroir%2Fannuaire/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/motiroir","download_url":"https://codeload.github.com/motiroir/annuaire/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245924503,"owners_count":20694728,"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":["binary-files","binary-search-tree","java","javafx"],"created_at":"2025-02-01T23:26:34.262Z","updated_at":"2026-04-28T20:32:58.799Z","avatar_url":"https://github.com/motiroir.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Intern Directory\n\n## Overview\nThe **Intern Directory** is a Java-based application designed to modernize the management of interns within a training center. Previously, the center relied on a simple text file to store and manage its list of interns, which posed significant usability and efficiency limitations. To address this issue, we developed an intuitive, feature-rich directory system with a user-friendly graphical interface.\n\n## Features\n- **Data Import**: Load intern data from an existing text file.\n- **Alphabetical Sorting**: Interns are displayed in alphabetical order for easier navigation.\n- **CRUD Operations**: Authorized users can **add, update, and delete** intern records.\n- **Advanced Search**: Multi-criteria search functionality to quickly find specific interns.\n- **Printable Directory**: Generate a printable version of the intern list using PDF export.\n- **User Guide**: A comprehensive manual to assist users in getting started with the software.\n\n## Technical Details\n### Architecture \u0026 Technologies\n- **Programming Language**: Java (96.3%) and CSS (3.7%)\n- **GUI Framework**: JavaFX\n- **Data Storage**: Binary file for persistent intern records\n- **Algorithmic Implementation**: Binary Search Tree (BST) for efficient intern management\n- **Styling**: CSS for UI consistency and improved user experience\n\n## Algorithmic Challenge\nOne of the most significant challenges was implementing an **efficient search and management system** using a **Binary Search Tree (BST)**. This approach allows for optimized performance in searching, inserting, and deleting records compared to a linear data structure.\n\n### BST Operations:\n- **Insertion**: New intern records are inserted while maintaining the BST properties.\n- **Deletion**: Handled through four distinct cases to ensure structural integrity.\n- **Search**: Optimized lookup with logarithmic complexity.\n- **Persistence**: BST data is stored and retrieved from a binary file for long-term storage.\n\n---\nThis project showcases the power of **algorithmic efficiency, JavaFX UI design, and binary data management** while providing a practical solution to an everyday administrative challenge.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmotiroir%2Fannuaire","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmotiroir%2Fannuaire","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmotiroir%2Fannuaire/lists"}