{"id":21163622,"url":"https://github.com/ah-berry/found--frontend","last_synced_at":"2026-04-13T16:01:20.993Z","repository":{"id":261146272,"uuid":"883407299","full_name":"ah-berry/Found--Frontend","owner":"ah-berry","description":"Frontend of Found - a simplified version of Wellfound (previously AngelList) focused on basic candidate management from a hiring manager's point of view. ","archived":false,"fork":false,"pushed_at":"2024-11-18T01:19:39.000Z","size":15626,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-14T16:35:53.518Z","etag":null,"topics":["chakra","jsx","nextjs","react","typescript"],"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/ah-berry.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-04T23:01:38.000Z","updated_at":"2024-11-18T01:19:43.000Z","dependencies_parsed_at":"2024-11-18T02:28:27.375Z","dependency_job_id":"4c22b8e7-7a33-4bf9-8782-6bd5bc98b76e","html_url":"https://github.com/ah-berry/Found--Frontend","commit_stats":null,"previous_names":["ah-berry/wellfound_clone_frontend","ah-berry/found--frontend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ah-berry/Found--Frontend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ah-berry%2FFound--Frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ah-berry%2FFound--Frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ah-berry%2FFound--Frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ah-berry%2FFound--Frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ah-berry","download_url":"https://codeload.github.com/ah-berry/Found--Frontend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ah-berry%2FFound--Frontend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31759540,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T15:25:13.801Z","status":"ssl_error","status_checked_at":"2026-04-13T15:25:09.162Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["chakra","jsx","nextjs","react","typescript"],"created_at":"2024-11-20T13:58:32.226Z","updated_at":"2026-04-13T16:01:20.972Z","avatar_url":"https://github.com/ah-berry.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Found - Frontend\n\nThis is the frontend of Found - a simplified version of [_Wellfound_](https://wellfound.com/) (previously AngelList) focused on basic candidate management from a hiring manager's point of view. The user interface is an admin-like dashboard that enables the manipulation of candidates, job postings, an archive of the job postings, and the assignment of candidates to interview stages of a job.\n\n## Table of Contents\n* [Technologies Used](#technologies-used)\n* [Usage](#usage)\n* [Setup](#setup)\n* [Future Developments](#future-developments)\n* [Contact](#contact)\n\n## Technologies Used\n\n* Next.js v2.4.2\n* React v18\n* TypeScript v5\n* Chakra UI v2.10.2\n\n## Usage\n\nThe usage of Found will be segmented by the features/functionalities relevant to each page:\n\n* Pipeline\n* Candidates\n* Jobs\n* Archive\n\nThe \"Candidate\" and \"Job\" objects seen in the forthcoming GIFs are used for demonstration purposes and will not be present on a new running instance of this GitHub project cloned. \n\n### Pipeline\n\nThe \"Pipeline\" page is the entry point and home page of Found. A hollistic drag and drop column-wise overview of candidates within interview stages of a job or all jobs can be seen.\n\n#### Feature: Viewing interview stages of candidates by job selector\n\n![Example gif of viewing interview stages of candidates by job selector](./public/pipeline_job_selector_feature.gif)\n\nThe interview stages of candidates for a certain job can be selected by the top right dropdown menu. The \"All\" option will show the interview stages of all candidates across all jobs.\nIf the job selector is unused, it will default to the \"All\" option.\n\n#### Feature: Assigning candidates to interview stages by drag and drop\n\n![Example gif of assigning candidates to interview stages by drag and drop](./public/pipeline_candidate_drag_and_drop_assignment_feature.gif)\n\nCandidates can be assigned to different interview stages of a job by dragging and dropping the card with their name to the target interview stage. The GIF full page \nrefreshes towards the end and indicates that the candidate's latest interview stage assignment before the page refresh was correctly recorded on the backend.\n\n#### Feature: Assigning candidates to interview stages by \"Assign candidate\" button\n\n![Example gif of assigning candidates to interview stages by \"Assign candidate\" button](./public/pipeline_candidate_assignment_by_button_feature.gif)\n\nCandidates can be assigned to different interview stages of a job by using the \"Assign candidate\" button. Upon clicking the \"Assign candidate\" button, the user will be prompted to select the desired candidate, job, and interview stage. This button allows assigning candidates to interview stages of other jobs, an ability not achievable using the drag and drop feature.\n\n### Candidates\n\nThe \"Candidates\" page manages individual candidates more directly. Within this page, candidates can be viewed by a job using the top right selector alongside adding, editing, and deleting certain candidates.\n\n#### Feature: Viewing candidates by job selector\n\n![Example gif of viewing candidates by job selector](./public/candidates_view_by_job_selector_feature.gif)\n\nCandidates can be viewed by a certain job using the top right dropdown menu. Candidates are considered \"under a job\" if they are assigned to an interview stage for that job.\n\n#### Feature: Adding feedback to candidates\n\n![Example gif of adding feedback to candidates](./public/candidates_edit_feedback.gif)\n\nIndividual candidates can be given feedback by clicking on the \"Feedback\" button, clicking \"Submit\" after filling out the text area, refreshing the page, and locating the candidate once more.\n\n#### Feature: Adding candidates\n\n![Example gif of adding candidates](./public/candidates_adding_candidates_feature.gif)\n\nIndividual candidates can be added by clicking on the \"Add candidate\" button, entering the details, clicking \"Create\", and refreshing the page.\n\n#### Feature: Deleting candidates\n\n![Example gif of deleting candidates](./public/candidates_delete_candidates_feature.gif)\n\nIndividual candidates can be deleted by clicking on the \"Delete\" button, clicking \"Yes\", and refreshing the page.\n\n### Jobs\n\nThe \"Jobs\" page manages individual jobs more directly. Within this page, jobs can be viewed, edited, archived, and deleted.\n\n#### Feature: Edit description of job\n\n![Example gif of edit description of job](./public/jobs_edit_description_feature.gif)\n\nJob descriptions can be edited by clicking the \"Edit\", filling out the text area, and refreshing the page.\n\n#### Feature: Archiving jobs\n\n![Example gif of archiving jobs](./public/jobs_archiving_feature.gif)\n\nIndividual jobs can be archived by clicking the \"Archive\", clicking \"Yes\", and viewing the archived job in the \"Archive\" page.\n\n#### Feature: Deleting jobs\n\n![Example gif of deleting jobs](./public/jobs_deleting_feature.gif)\n\nIndividual jobs can be deleted by clicking on the \"Delete\" button, clicking \"Yes\", and refreshing the page.\n\n### Archive\n\nThe \"Archive\" page manages individual archived jobs. Archived jobs share similar functionality to the jobs on the \"Jobs\" page but only differs with the \"Unarchive\" feature.\n\n#### Feature: Unarchiving jobs\n\n![Example gif of unarchiving jobs](./public/archive_unarchiving_jobs_feature.gif)\n\nJobs can be unarchived and passed back to the \"Jobs\" by clicking \"Unarchive\", clicking \"Yes\", and visiting the \"Jobs\" page.\n\n## Setup\n\nTo setup the application, [_npm_](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [_yarn_](https://classic.yarnpkg.com/lang/en/docs/install/#mac-stable) are required.\n\n1. Open your terminal and `git clone` the GitHub repository URL in your desired directory.\n2. Navigate to the cloned directory with `cd \u003ccloned_repository\u003e` and install the project's dependencies with `npm install` or `yarn install`.\n3. Verify [_Found - Backend_](https://github.com/ah-berry/Found--Backend) is running on http://localhost:8000.\n4. Run the application with `npm run dev` or `yarn dev`.\n5. Open the application on your browser of choice with http://localhost:3000.\n\n## Future Developments\n\nThere are things that can be added to improve on the code quality and user experience of Found in the future. Here are some of the developments I can forsee and maybe you, as one of the wonderful users of Found :smiley:, have already identified:\n\n- Addition of a sign-on, sign-in, and sign-out authentication flow for users.\n- Addition of user settings like profile customization.\n- Addition of different user roles (i.e. admin and generic consumers) and privileges (i.e. admin and generic consumers with differing capabilities).\n- \"try...catch\" statements and error handling for API calls.\n- Persisting job option choice from selector globally across pages.\n- Informative page centered texts if there are no candidates, jobs, or archived jobs.\n- More industry-standard and \"aesthetically pleasing\" styling for drag and drop \"Pipeline\" display and \"Candidate\" and \"Job\" cards.\n- Landscape search new drag and drop REACT library (as [_react-beautiful-dnd_](https://github.com/atlassian/react-beautiful-dnd) is slated to deprecate) or custom build one from scratch.\n\n## Contact\n\nThe application was created by yours truly! Feel free to follow me on [_LinkedIn_](https://www.linkedin.com/in/ahmed-gorashi-546447b5/) and let me know if you liked using Found!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fah-berry%2Ffound--frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fah-berry%2Ffound--frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fah-berry%2Ffound--frontend/lists"}