{"id":19954201,"url":"https://github.com/code100x/job-board","last_synced_at":"2025-05-15T01:06:41.761Z","repository":{"id":251811355,"uuid":"836841218","full_name":"code100x/job-board","owner":"code100x","description":"100xdevs job board  - temp domain attached ( will update soon ) ","archived":false,"fork":false,"pushed_at":"2024-11-03T19:06:41.000Z","size":1300,"stargazers_count":368,"open_issues_count":35,"forks_count":457,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-04-13T22:39:39.378Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"https://job.vineet.pro","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/code100x.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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-08-01T17:06:39.000Z","updated_at":"2025-04-12T04:34:56.000Z","dependencies_parsed_at":"2024-12-21T00:04:27.583Z","dependency_job_id":"31e4fb84-9c3f-445e-907c-8b5c2cfa97d8","html_url":"https://github.com/code100x/job-board","commit_stats":null,"previous_names":["code100x/job-board"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code100x%2Fjob-board","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code100x%2Fjob-board/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code100x%2Fjob-board/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code100x%2Fjob-board/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/code100x","download_url":"https://codeload.github.com/code100x/job-board/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254254041,"owners_count":22039792,"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":["hacktoberfest"],"created_at":"2024-11-13T01:19:13.059Z","updated_at":"2025-05-15T01:06:36.730Z","avatar_url":"https://github.com/code100x.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Project Name: Job Board\n\n[All about job board](https://marmalade-height-05f.notion.site/100xDevs-Job-board-ab8ca399180d49e4bc0c2ff5c81dfb08?pvs=25) \u003cbr/\u003e\n[Project Status](https://marmalade-height-05f.notion.site/Job-board-10315651c69c80b581b5f7b64667341c)\n\n## Table of Contents\n\n- [Description](#description)\n- [Features](#features)\n- [Technologies](#technologies)\n- [Getting Started](#getting-started)\n\n## Description\n\nJob Board is a platform designed to connect employers with potential employees. Employers can post job listings, and job seekers can apply for these positions. The application ensures a seamless and efficient job search and hiring process.\n\n## Technologies\n\n- **Web-app**: Next.Js, TypeScript\n- **Database**: Prisma ORM, Postgres\n- **Authentication**: NextAuth\n- **Containerization**: Docker\n\n## Getting Started\n\nTo get started with the Job Board app, follow these steps:\n\n1. Clone the repository:\n\n   ```sh\n   git clone https://github.com/yourusername/job-board\n   ```\n\nFollow these steps to set up the repository locally and run it.\n\n### Configuration\n\n1. Create a `.env` file in the root folder of your project. Update it following the convention of the `.env.example` file. Here's an example:\n\n   ```bash\n   #\n   # Database\n   #\n   DATABASE_URL=\"postgres://postgres:password@localhost:5432/postgres\"\n\n   #\n   # AUTH\n   #\n   NEXTAUTH_SECRET=\n   NEXTAUTH_URL=\"http://localhost:3000\"\n\n   #\n   # Bunny CDN\n   #\n   CDN_API_KEY=\n   CDN_BASE_UPLOAD_URL=\n   CDN_BASE_ACCESS_URL=\n\n   NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=\n\n   #\n   # Email SMTP credentials\n   #\n   EMAIL_USER=user@gmail.com\n   EMAIL_PASSWORD=\n\n   #\n   # Google OAuth credentials\n   #\n   GOOGLE_CLIENT_ID=\n   GOOGLE_CLIENT_SECRET=\n   ```\n\n2. To generate AUTH_SECRET,\n\n   Run this command in your terminal:\n\n   ```bash\n   openssl rand -base64 33\n   ```\n\n   or\n\n   [Run in browser](https://www.cryptool.org/en/cto/openssl/)\n\n### Running the Project with Docker\n\n```bash\ndocker compose up --build\n```\n\n### Running the Project without Docker\n\n1. Install the necessary dependencies:\n\n   ```bash\n   npm install\n   ```\n\n2. Sync \u0026 Seed your database:\n\n   ```bash\n   npm run db:seed\n   ```\n\n3. Start the development server:\n\n   ```bash\n   npm run dev\n   ```\n\nNow, you can run the project and make changes as needed.\n\n### Test User Credentials\n\n```js\nEmails: 'user@gmail.com, admin@gmail.com';\nPassword: '123456';\n```\n\n## Steps to create a BunnyCDN storage for this repo:\n\n1. **Create a storage zone:**\n\n \u003cimg src=\"https://utfs.io/f/CUistsOk9f0Iocrllmq4RQuXkCx9NthDrTEw6dFy1Z3KfIPc\" alt=\"Create a storage zone\" width=\"150\" /\u003e\n\n2. **Connect the storage zone to a pull zone:**\n\n \u003cimg src=\"https://utfs.io/f/CUistsOk9f0ImevkKUyo3QdPNXDuFbcZEagW0AUej1tzvmMw\" alt=\"Connect the storage zone to a pull zone\" width=\"250\" /\u003e\n\n3. **Set environment variables:**\n\n   Go to the FTP \u0026 API Access section in the storage zone and add the following environment variables:\n\n   ```bash\n   CDN_API_KEY=\u003cyour-api-key\u003e\n   ```\n\n   Which you can find in the storage -\u003e [storage name] -\u003e FTP \u0026 API Access section\n\n   \u003cimg src=\"https://utfs.io/f/CUistsOk9f0Imf5c1ZUyo3QdPNXDuFbcZEagW0AUej1tzvmM\" alt=\"CDN_API_KEY\" width=\"500\" /\u003e\n\n---\n\n```bash\nCDN_BASE_UPLOAD_URL=\u003cyour-cdn-base-upload-url\u003e\n```\n\nWhich is https://[your-hostname]/[storage-name]/[any folder name you might have added otherwise empty]\n\n   \u003cimg src=\"https://utfs.io/f/CUistsOk9f0Imf5c1ZUyo3QdPNXDuFbcZEagW0AUej1tzvmM\" alt=\"CDN_BASE_UPLOAD_URL\"  width=\"500\"  /\u003e\n\n---\n\n```bash\nCDN_BASE_ACCESS_URL=\u003cyour-cdn-base-access-url\u003e\n```\n\nWhich is https://[your-pull-zone-hostname]/[any folder name you might have added otherwise empty] or get link from the dashboard as mentioned below\n\n   \u003cimg src=\"https://utfs.io/f/CUistsOk9f0IyM9047Pa7YvK8qbtnUAPO9jwxdskhzc2JNoR\" alt=\" CDN_BASE_ACCESS_URL\"  width=\"600\"  /\u003e\n\n# Steps to Set Up Google Maps Platform API Key\n\nTo use the Google Maps API in your applications, follow the steps below to create and set up your API key.\n\n### Step 1: Go to Google Cloud Console\n\n1. Navigate to the [Google Cloud Console](https://console.cloud.google.com/).\n2. If you don’t have a Google account, create one and sign in.\n\n### Step 2: Create a New Project\n\n1. In the Cloud Console, click on the **Select a project** dropdown at the top.\n2. Click **New Project** to create a new project.\n3. Give your project a name, select the organization (optional), and choose the billing account.\n4. Click **Create**.\n\n### Step 3: Google Maps Platform\n\n1. Search Google Maps Platform in the Console search bar\n   \u003cimg width=\"1438\" alt=\"Screenshot 2024-09-22 at 10 15 15 AM\" src=\"https://github.com/user-attachments/assets/a5f93c1e-d7b6-4a5b-847b-868b1133643d\"\u003e\n\n2. If your account is not setup yet , finish your account setup\n   \u003cimg width=\"930\" alt=\"Screenshot 2024-09-22 at 10 02 59 AM\" src=\"https://github.com/user-attachments/assets/c8ee7aa3-7610-4836-86f6-c28e8604c2b9\"\u003e\n\n3.After Completeing account setup , select the \"Keys and Credentails\" Section.\n4.Then select the Create Credentials option , under which you can select the \"API Key Option\"\n\u003cimg width=\"1440\" alt=\"Screenshot 2024-09-22 at 10 05 36 AM\" src=\"https://github.com/user-attachments/assets/9e897c91-3282-4e28-8fdf-d920d6c4bc15\"\u003e\n\n5. You will receive a API Key , add the key to the NEXT_PUBLIC_GOOGLE_MAPS_API_KEY in the .env\n   \u003cimg width=\"660\" alt=\"Screenshot 2024-09-22 at 10 19 33 AM\" src=\"https://github.com/user-attachments/assets/adcb5a49-892e-43a1-b318-56b296280611\"\u003e\n\n### Step 4: Changes required to make it work on localhost\n\n1. Although the documentation mentions that without restriction , the API key will work everywhere, that is not the case for http requests.\n2. Add a restriction and mention your localhost along with your port for it to start working on local , and save and continue\n   \u003cimg width=\"694\" alt=\"Screenshot 2024-09-22 at 10 06 44 AM\" src=\"https://github.com/user-attachments/assets/3acfdf47-4b1d-480f-8172-0fbfa1c39f02\"\u003e\n\n3. to test navigate to the http://localhost:3000/create , and test the \"Where is the job located\" input.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode100x%2Fjob-board","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcode100x%2Fjob-board","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode100x%2Fjob-board/lists"}