{"id":20136902,"url":"https://github.com/ath31st/vac_vac","last_synced_at":"2026-05-05T14:32:47.742Z","repository":{"id":248483600,"uuid":"828810798","full_name":"ath31st/vac_vac","owner":"ath31st","description":"Vac Vac is a job application platform for job seekers and employers, providing secure access and session persistence after page reloads. It features six main pages tailored to meet the needs of both user groups.","archived":false,"fork":false,"pushed_at":"2025-03-14T03:37:44.000Z","size":1228,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-08T02:57:53.866Z","etag":null,"topics":["component-styling","exposed","full-stack","jwt","kotlin","ktor","ktor-server","react","reactjs","redux-toolkit","sqlite3","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/ath31st.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,"zenodo":null}},"created_at":"2024-07-15T07:14:28.000Z","updated_at":"2025-03-14T03:37:47.000Z","dependencies_parsed_at":"2024-11-13T21:24:16.809Z","dependency_job_id":"2c7aed1c-4c96-431c-94c3-caf739177222","html_url":"https://github.com/ath31st/vac_vac","commit_stats":null,"previous_names":["ath31st/vac_vac"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ath31st/vac_vac","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ath31st%2Fvac_vac","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ath31st%2Fvac_vac/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ath31st%2Fvac_vac/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ath31st%2Fvac_vac/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ath31st","download_url":"https://codeload.github.com/ath31st/vac_vac/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ath31st%2Fvac_vac/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32653552,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["component-styling","exposed","full-stack","jwt","kotlin","ktor","ktor-server","react","reactjs","redux-toolkit","sqlite3","typescript"],"created_at":"2024-11-13T21:23:29.507Z","updated_at":"2026-05-05T14:32:47.716Z","avatar_url":"https://github.com/ath31st.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vac Vac\n\nVac Vac is a comprehensive job application platform designed for both job seekers and employers. The\napplication ensures secure access for authenticated users only, maintaining their sessions even\nafter page reloads. The platform consists of six main pages, each catering to the different needs of\njob seekers and employers.\n\n## Features\n\n### Common Pages\n\n- **Vacancies Page**: Accessible by both job seekers and employers, displaying a list of available\n  job postings.\n\n  Employer side:\n  ![Vacancies](images/employer_vacancies.jpg)\n\n  Job seeker side:\n  ![Vacancies](images/employee_vacancies_1.jpg)\n- **Vacancy Details Page**: Accessible by both job seekers and employers, displaying detailed\n  information about a specific job posting.\n  ![Vacancies](images/employee_vacancies_2.jpg)\n\n### Job Seeker Pages\n\n- **My Vacancies Page**: Lists the job postings the user has applied to.\n  ![My Vacancies](images/employee_my_vacancies.jpg)\n\n### Employer Pages\n\n- **Active Vacancies Page**: Lists the active job postings created by the employer.\n  ![Active Vacancies](images/employer_active_vacancies.jpg)\n- **Active Vacancy Details Page**: Displays detailed information about a specific active job posting\n  created by the employer, with options to close the vacancy.\n- **Create Vacancy Page**: Allows employers to create new job postings.\n  ![Create Vacancy](images/employer_create_vacancy.jpg)\n\n### Authentication Pages\n\n- **Login Page**: For user authentication.\n  ![Sign In](images/signin.jpg)\n- **Common Registration Page**: For job seekers and companies to register.\n  ![Sign Up](images/signup.jpg)\n\n## User Permissions\n\n- **Employers**: Can view the number of applicants for their job postings, close vacancies, and\n  create new job postings.\n  They cannot access job seeker-specific pages.\n- **Job Seekers**: Can view and apply to job postings, see which jobs they have applied to, and\n  cancel applications. They cannot access employer-specific pages and will be redirected to the\n  Vacancies Page if attempting to access restricted pages.\n\n## Backend Endpoints\n\n### User Routes\n\n- **POST /users**: Register a new user.\n- **POST /auth**: Authenticate a user.\n- **GET /roles**: Retrieve a list of roles.\n- **GET /users/{id}**: Get user details by ID.\n- **PUT /users/{id}**: Update user details by ID.\n- **DELETE /users/{id}**: Delete a user by ID.\n\n### Vacancy Routes\n\n- **POST /vacancies**: Create a new vacancy.\n- **GET /vacancies/{id}**: Retrieve details of a specific vacancy.\n- **GET /vacancies**: Retrieve a list of all active vacancies.\n- **GET /vacancies/employer**: Retrieve all vacancies created by the current employer.\n- **GET /vacancies/employee**: Retrieve vacancies to which the current job seeker has applied.\n- **PUT /vacancies/{id}/change-visible**: Update the visibility of a vacancy.\n- **GET /vacancies/tags**: Retrieve a list of vacancy tags.\n- **GET /vacancies/education-levels**: Retrieve a list of education levels.\n- **GET /vacancies/english-levels**: Retrieve a list of English language levels.\n- **POST /vacancies/{id}/response**: Apply to a vacancy.\n- **DELETE /vacancies/{id}/cancel-response**: Cancel an application to a vacancy.\n- **POST /vacancies/response-statuses**: Retrieve response statuses for vacancies.\n- **POST /vacancies/response-counts**: Retrieve the number of responses for vacancies.\n\n## Technology Stack\n\n- **Frontend**: TS (React, Redux toolkit, Styled-components).\n- **Backend**: Kotlin (Ktor, exposed, sqlite).\n\n## Setup Instructions\n\n### Backend\n\n1. Navigate to the backend directory.\n2. Build the project and install dependencies: `./gradlew build`.\n3. Start the backend server: `./gradlew run`.\n\n### Frontend\n\n1. Open a new terminal and navigate to the React application directory.\n2. Install dependencies: `yarn install`.\n3. Start the frontend application: `yarn start`.\n\n## Repository Structure\n\n- **backend/**: Contains backend server code.\n- **frontend/**: Contains React application code.\n\nVac Vac is designed to streamline the job application process, providing a user-friendly interface\nfor both job seekers and employers to interact seamlessly.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fath31st%2Fvac_vac","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fath31st%2Fvac_vac","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fath31st%2Fvac_vac/lists"}