/job-board

Stay informed and make informed career decisions effortlessly. An innovative full-stack pet project leveraging React and Node.js, demonstrating advanced system design and optimized web performance.

Primary LanguageTypeScript

JobBoard

This application serves as a dynamic hub for aggregating the most recent remote JavaScript job offerings from major job portals, including nofluffjobs, justjoinit, and other key providers. By consolidating these opportunities in a unified platform, users gain the ability to seamlessly track emerging job prospects, and conduct insightful comparisons between their existing work environment and the broader market trends in the JavaScript ecosystem. This empowers users to stay agile and responsive to evolving industry dynamics. For job seekers, the app offers enhanced personalization features, allowing the marking of preferred job offers as favorites, facilitating detailed comparisons, and automatically remembering these choices for future reference.

Configuration

To configure the application on the server, it is imperative to create a configuration file named .env and include the following key-value pairs:

API_KEY_EXCHANGERATESAPI="..."
MONGO_URL="mongodb://127.0.0.1:27017"
MONGO_DB="..."

OFFERS_JJIT_URL="https://justjoin.it/_next/data/kOVmB9wk2AuDgrz4EXdiz/all-locations/javascript/remote_yes/with-salary_yes.json?slug=all-locations&slug=javascript&slug=remote_yes&slug=with-salary_yes"
OFFERS_NFJ_URL="https://nofluffjobs.com/api/search/posting?page=1&limit=200&salaryCurrency=PLN&salaryPeriod=month&region=pl"

VITE_FIREBASE_API_KEY="..."
VITE_FIREBASE_AUTH_DOMAIN="..."
VITE_FIREBASE_PROJECT_ID="..."
VITE_FIREBASE_STORAGE_BUCKET="..."
VITE_FIREBASE_MESSAGING_SENDER_ID="..."
VITE_FIREBASE_APP_ID="..."
VITE_FIREBASE_MEASUREMENT_ID="..."

Production builds

Build frontend/backend part of the application by running command:

npx nx run-many --target=build --projects=server-api,client-react --parallel

Running app on the server

To up-and-run the entire application use command:

node ./dist/apps/server-api/main.js