This is the Fullstack Jobs Portal Applications APIs. If you wanted to launch your own Jobs Portal then you can use this for your application backend. It is An Open Source Project.
Jobs Portal API is based on a NestJS framework TypeScript starter repository. It is an open source project that anyone can use to launch their own Jobs Portal. Here you can find all the resources you need to get started with the project.
As a NestJS developer, you can use this project as a starting point for your own projects. If you are looking for a cloud-based platform to deploy your NestJS application, check out Mau, our official platform for deploying NestJS applications on AWS.
# Clone the repository
$ git clone https://github.com/imshibaji/jobs-api-server.git
# Move into the directory
$ cd jobs-api-server
# Create .env file
$ cp .env.example .env
# Install dependencies
$ pnpm install
# Run the development server
$ pnpm run start:dev
# Run the production server
$ pnpm run start:prodTo run this project, you will need to create a .env file and add the following environment variables:
APP_NAME="Jobs API Server"
APP_VERSION="1.0.0"
APP_ENVIRONMENT=development
APP_PORT=3300
APP_SECRET_KEY=<your-secret-key>
DB_TYPE=postgres
DB_HOST=localhost
DB_PORT=5432
DB_USER=root
DB_PASS=password
DB_NAME=jobs_api_server
DB_SYNC=true
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_USER=default
REDIS_PASS=password
REDIS_DB=1234
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587 # or 465
SMTP_USER=admin@gmail.com
SMTP_PASS=password
SMTP_SECURITY=TLS # or SSL
WHATSAPP_NUMBER=<your-number>
SMS_NUMBER=<your-number># development
$ pnpm run start
# watch mode
$ pnpm run start:dev
# production mode
$ pnpm run start:prod# unit tests
$ pnpm run test
# e2e tests
$ pnpm run test:e2e
# test coverage
$ pnpm run test:cov- Register a new user
- Then login to your account
- Get Access Token and Set Authorization Header
- Then you can use the API endpoints
# Register a new user
POST /auth/register
# Login a user
POST /auth/login
# Get all jobs
GET /jobs
# Get a single job
GET /jobs/:id
# Create a new job
POST /jobs
# Update a job
PUT /jobs/:id
# Delete a job
DELETE /jobs/:id
# Many more API endpoints are available in the project source codeYou can deploy your Project on VPS with Hostinger. It a very cost-effective and easy-to-use platform for deploying NestJS applications on Hostinger.
If want to get offer then you can use Hostinger Offer for your project from this link.
- Create a VPS on Hostinger
- Choose your plan and click on checkout
- Enter your details and click on checkout
- Setup your VPS with Docker
- Then Follow this Process to Setup Jobs API Server on Docker Easily
You can deploy This Project on Docker with Docker. It a very cost-effective and easy-to-use platform for deploying NestJS applications on Docker.
If you wanted to Quickly deploy this Project on Docker then you can follow these steps:
create a docker-compose.yml file in the root directory of the project.
then copy the following content into the file:
server:
image: imshibaji/jobs-api-server:latest
container_name: jobs-server
restart: unless-stopped
env_file:
- .env
environment:
NODE_ENV: production
ports:
- 3300:3300
volumes:
- ./uploads:/app/uploads:rw
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
db:
image: postgres:17
restart: always
user: postgres
volumes:
- db_data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=jobs_api_server
- POSTGRES_PASSWORD=Spaceranger@123
ports:
- 5433:5432
healthcheck:
test: [ "CMD", "pg_isready" ]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:latest
restart: always
ports:
- 6378:6379
volumes:
- redis_data:/data
healthcheck:
test: [ "CMD", "redis-cli", "ping" ]
interval: 10s
timeout: 5s
retries: 5
environment:
- REDIS_PASSWORD=Spaceranger@123
volumes:
server_app:
driver: local
db_data:
redis_data:
networks:
proxy:
external:
name: proxythen run the following command:
- copy .env.example file to .env file
- Then run
docker compose up -dcommand - Then run
docker compose logs -fcommand - Then open
http://localhost:3300in your browser - Check Project Status with
docker compose pscommand - For upgrading the project then run
docker compose downcommand - Then run
docker compose pullcommand - Then run
docker compose up -dcommand
Use this Process to deploy this Project on Docker Easily.
You can also modify the Dockerfile to fit your needs.
But if you wanted to more control then you can modify the docker-compose.yaml file.
You wanted to Modify and Contribute to this Project then you can find all the resources you need to get started with the project:
-
Visit the NestJS Documentation to learn more about the framework.
-
Visit the Docker documentation to learn more about Docker.
-
For deployment, you can use Docker Compose.
If you have any questions or feedback about this project.
Also you need any setup help, please don't hesitate to reach out to me.
- Author - Shibaji Debnath
- Project - Jobs API Server
- LinkedIn - LinkedIn
Jobs API Server is MIT licensed.