{"id":23907438,"url":"https://github.com/mentorg/job-query-fullstack","last_synced_at":"2026-04-06T01:33:54.831Z","repository":{"id":270001548,"uuid":"909088334","full_name":"Mentorg/job-query-fullstack","owner":"Mentorg","description":"Job Query is a robust full-stack web application built with Laravel and React, designed to streamline the job search and application process for users.","archived":false,"fork":false,"pushed_at":"2025-02-17T22:52:05.000Z","size":1779,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-17T23:30:20.324Z","etag":null,"topics":["axios","javascript","laravel","php","react","react-hot-toast","react-icons","react-router","reactquery","reactqueryv5","recharts","spatie-laravel-permission","sqlite","tailwindcss","typescript","vite"],"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/Mentorg.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-12-27T17:41:42.000Z","updated_at":"2025-02-17T22:52:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"4d18e155-42fe-4e33-ae3a-050ae491a1c2","html_url":"https://github.com/Mentorg/job-query-fullstack","commit_stats":null,"previous_names":["mentorg/job-query-fullstack"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mentorg%2Fjob-query-fullstack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mentorg%2Fjob-query-fullstack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mentorg%2Fjob-query-fullstack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mentorg%2Fjob-query-fullstack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mentorg","download_url":"https://codeload.github.com/Mentorg/job-query-fullstack/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240331316,"owners_count":19784643,"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":["axios","javascript","laravel","php","react","react-hot-toast","react-icons","react-router","reactquery","reactqueryv5","recharts","spatie-laravel-permission","sqlite","tailwindcss","typescript","vite"],"created_at":"2025-01-05T03:11:55.361Z","updated_at":"2025-12-30T19:40:45.644Z","avatar_url":"https://github.com/Mentorg.png","language":"TypeScript","readme":"## Job Query - Full Stack Setup Documentation\n\n### Prerequisites\n\nBefore you begin, ensure that you have the following tools installed on your machine:\n\n1. **PHP** (version 8.1 or higher)\n\n   - Laravel requires PHP 8.1 or higher to run.\n\n2. **Node.js and npm** (Node Package Manager)\n\n   - Node.js should be installed, along with npm, which is used to manage JavaScript dependencies for the React frontend.\n\n3. **Composer**\n   - Composer is required to manage PHP dependencies for Laravel.\n\n---\n\n### Step 1: Clone the Repository\n\nClone the full-stack repository from GitHub to your local machine. Run the following command in your terminal or Git Bash:\n\n```bash\ngit clone https://github.com/Mentorg/job-query-fullstack.git\n```\n\nNavigate to the project directory:\n\n```bash\ncd job-query-fullstack\n```\n\nInside this directory, you will see two subdirectories:\n\n- `job-query-api` (Laravel API)\n- `job-query` (React frontend)\n\n---\n\n### Step 2: Set Up Laravel API (`job-query-api`)\n\nAfter cloning the repository, you'll need to set up a `.env` file for both the backend (Laravel) and frontend (React).\n\n1. **Navigate to the `job-query-api` directory**:\n\n   ```bash\n   cd job-query-api\n   ```\n\n2. **Start Laravel Herd**:\n\n   If you are using Laravel Herd, ensure that you have it running. Laravel Herd should already be set up in the project folder (`C:\\Users\\(User)\\Herd`). If you haven't already, follow the installation steps to get Herd running.\n\n3. **Create the `.env` file**:\n\n   Copy the `.env.example` file to a new `.env` file:\n\n   ```bash\n   copy .env.example .env\n   ```\n\n   Edit the `.env` file if necessary (e.g., set up your database credentials).\n\n4. **Generate the application key**:\n\n   Run the following command to generate a new application key for Laravel:\n\n   ```bash\n   php artisan key:generate\n   ```\n\n5. **Install Composer dependencies**:\n\n   Run the following command to install the necessary PHP dependencies:\n\n   ```bash\n   composer install\n   ```\n\n6. **MailTrap Configuration**\n\n   If you're using MailTrap for testing email notifications, follow these steps to configure it:\n\n   6.1. **Create a MailTrap account:**\n\n   - Visit [MailTrap](https://mailtrap.io) and sign up for an account.\n\n     6.2. **Obtain Your MailTrap Credentials:**\n\n   - After logging in, create a new inbox in MailTrap.\n   - Copy the SMTP credentials (username, password, host, and port) for your inbox.\n\n     6.3. **Update Your .env File:**\n\n   - Open your `.env` file in the project root directory.\n   - Update the following environment variables with your MailTrap credentials:\n\n   ```env\n   MAIL_MAILER=smtp\n   MAIL_HOST=smtp.mailtrap.io\n   MAIL_PORT=2525\n   MAIL_USERNAME=your_mailtrap_username\n   MAIL_PASSWORD=your_mailtrap_password\n   MAIL_ENCRYPTION=tls\n\n   ```\n\n7. **Run Migrations**:\n\n   Run the following command to create the necessary tables in your database based on your migration files:\n\n   ```bash\n   php artisan migrate\n   ```\n\n8. **Run Seeders**:\n\n   Run the following command to seed the database using the seeders defined in `DatabaseSeeder.php`:\n\n   ```bash\n   php artisan db:seed\n   ```\n\n   Alternatively, you can run both migrations and seeders in one command:\n\n   ```bash\n   php artisan migrate --seed\n   ```\n\n9. **Start the Laravel server**:\n\n   Run the following command to start the Laravel API server:\n\n   ```bash\n   php artisan serve\n   ```\n\n   This will start the Laravel API on [http://127.0.0.1:8000](http://127.0.0.1:8000). Ensure this server is running as it serves the API for the frontend.\n\n---\n\n### Step 3: Set Up the React Frontend (`job-query`)\n\n1. **Navigate to the `job-query` directory**:\n\n   ```bash\n   cd ../job-query\n   ```\n\n2. **Create the `.env` file**:\n\n   Create a new `.env` file in the `job-query` directory and add the following content:\n\n   ```env\n   VITE_REACT_APP_API_URL = \"http://localhost:5173\"\n   VITE_REACT_APP_API_BASE_URL = \"http://127.0.0.1:8000\"\n   ```\n\n   These variables define the URLs for the React frontend and the Laravel API backend. You can modify these URLs if you're running the servers on different ports or domains.\n\n3. **Install Node.js dependencies**:\n\n   In the `job-query` directory, run the following command to install the necessary JavaScript dependencies using npm:\n\n   ```bash\n   npm install\n   ```\n\n4. **Start the React development server**:\n\n   Run the following command to start the React development server:\n\n   ```bash\n   npm run dev\n   ```\n\n   This will start the React frontend on [http://localhost:5173](http://localhost:5173). Ensure this server is running as it connects to the Laravel API for job search functionality.\n\n---\n\n### Step 4: Testing the Application\n\nOnce both the Laravel API server and React frontend server are running, you can test the full application by visiting:\n\n- **Frontend**: [http://localhost:5173](http://localhost:5173)\n- **API**: [http://localhost:8000](http://localhost:8000)\n\nYou should be able to interact with the frontend and query job listings, which will communicate with the backend API running on Laravel.\n\n---\n\n### Troubleshooting\n\n- **Error: \"Port already in use\"**  \n   If the ports (`8000` for Laravel and `3000` for React) are already in use, you can change the port in both the backend and frontend:\n\n  - For the Laravel API, run `php artisan serve --port=8001` to change the port to `8001`.\n  - For React, you can change the port in the `package.json` file, under the `\"scripts\"` section, or by setting the environment variable `PORT=3001` before running `npm run dev`.\n\n- **Cannot connect to the database**  \n   Ensure that your `.env` file in the Laravel API has the correct database settings and that your Docker containers are running.\n\n---\n\n### Conclusion\n\nThis setup guide helps you get the full-stack **Job Query** application up and running on your local development machine. The app consists of two main components: a Laravel API backend and a React frontend, which must run on separate servers for proper interaction.\n\nFeel free to reach out if you encounter any issues during the setup process!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmentorg%2Fjob-query-fullstack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmentorg%2Fjob-query-fullstack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmentorg%2Fjob-query-fullstack/lists"}