Skip to content

RojgarNepal is a comprehensive platform designed to connect freelancers with clients, enabling seamless job postings, applications, and communication. The project involves multiple modules including client, server, admin, and recommendation systems.

License

Notifications You must be signed in to change notification settings

sandesh-khatiwada/RojgarNepal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RojgarNepal

RojgarNepal is a comprehensive platform designed to connect freelancers with clients, enabling seamless job postings, applications, and communication. The project involves multiple modules including client, server, admin, and recommendation systems.

Table of Contents

  1. Introduction
  2. Features
  3. Project Structure
  4. Installation and Setup
    1. Server
    2. Client
    3. Admin
    4. Recommendation System
  5. Usage
  6. Contributing
  7. License
  8. Screenshots

Introduction

RojgarNepal is a job portal designed to facilitate connections between freelancers and clients. It includes features such as job postings, applications, user profiles, and communication tools.

Features

  • Token Based User Authentication and Authorization
  • Job Posting and Application
  • Real-time Chat between Clients and Freelancers using socket.io
  • Admin Dashboard for Managing Users and Jobs
  • Recommendation System for Freelancer Suggestions using Collaborative Filtering Technique

Project Structure

The project is divided into several directories, each handling a specific part of the application:

  1. admin: React project for the admin dashboard.
  2. client: React project for the frontend.
  3. server: Node.js project for the backend.
  4. recommendation: Flask project for the recommendation system.

Installation and Setup

To run the project, follow the instructions below:

Clone the repository:

git clone [email protected]:sandesh-khatiwada/RojgarNepal.git

Server

  1. Navigate to the server directory:

    cd RojgarNepal/server
  2. Install server dependencies:

    npm install
  3. Set Up Database:

    • Create a MySQL database named RojgarNepal.
  4. Create environment variables:

    • Create a .env file inside the server directory.
    • Provide the following environment variables. Use .env.example as a reference.
    • If default values are provided in .env.example , use the same.
    PORT=5000  #Server will be running at 5000 port
    DB_NAME=RojgarNepal  #Default name for the database
    DB_USER=your-DB-username  #Provide your username for the database
    DB_PASS=your-DB-password  #Provide database password
    DB_HOST=your-DB-host  #Eg:localhost
    JWT_SECRET_KEY=your-jwt-secretkey  #Eg: 'mysecret123'
    EMAIL_ADDRESS=your-email-address
    EMAIL_PASS=your-email-password
    EMAIL_TRANSPORTER_PASS=your-email-transporter-pass  #you can get email transporter pass from 
    IMAGE_URL=http://localhost:5000/uploads/  #path for directory used to store image files
    
    #esewa test credentials
    ESEWA_SECRET_KEY=8gBm/:&EnhH.1/q  
    ESEWA_GATEWAY_URL=https://rc-epay.esewa.com.np
    ESEWA_PRODUCT_CODE=EPAYTEST
    ADMIN_ID=admin123  #Use this id for admin login
    ADMIN_PASSWORD=admin@123  #Use this password for admin login
  5. Start the server:

    npm run start

Client

  1. Create a new terminal and navigate to the client directory:

    cd RojgarNepal/client
  2. Install client dependencies:

    npm install
  3. Run the client:

    npm run dev

Admin

  1. Create a new terminal and navigate to the admin directory:

    cd RojgarNepal/admin
  2. Install admin dependencies:

    npm install
  3. Run the admin module:

    npm run dev

Recommendation System

  1. Navigate to the recommendation directory:

    cd RojgarNepal/recommendation
  2. Install the dependencies included in requirements.txt:

    pip install -r requirements.txt
  3. Create environment variables:

    • Create a .env file inside the recommendation directory.
    • Provide the following environment variables. Use .env.example as a reference.
    • If default values are provided in .env.example , use the same.
    DB_USERNAME=your-DB-username  #Provide your username for the database Eg:root
    DB_PASSWORD=your-DB-password  #Provide database password
    DB_NAME=RojgarNepal
  4. Run the recommendation server:

    python app.py

Usage

  • Start the server, client, admin, and recommendation systems as described above.
  • Access the client application at http://localhost:5173.
  • Access the admin dashboard at http://localhost:5174.
  • The server will be running at http://localhost:5000.
  • The recommendation server will be running at http://localhost:8000.
  • The default login credentials for admin is : username= admin123 password= admin@123

Contributing

Contributions are welcome! Please follow the standard GitHub flow for contributions.

License

This project is licensed under the MIT License.

Screenshots

-LogIn LogIn

-Client Dashboard Client Dashboard

-Freelancer Dashboard Freelancer Dashboard

-Chat Chat

-Filtered Search Filtered Search

-Admin Panel Admin Panel

About

RojgarNepal is a comprehensive platform designed to connect freelancers with clients, enabling seamless job postings, applications, and communication. The project involves multiple modules including client, server, admin, and recommendation systems.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages