{"id":22699691,"url":"https://github.com/arkodeepsen/worknet","last_synced_at":"2025-10-07T21:59:16.200Z","repository":{"id":267399320,"uuid":"897247206","full_name":"arkodeepsen/Worknet","owner":"arkodeepsen","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-02T08:22:31.000Z","size":34381,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-04T19:45:39.049Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://worknetai.onrender.com","language":"EJS","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/arkodeepsen.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-02T09:53:01.000Z","updated_at":"2025-01-12T20:51:19.000Z","dependencies_parsed_at":"2025-02-04T19:53:10.334Z","dependency_job_id":null,"html_url":"https://github.com/arkodeepsen/Worknet","commit_stats":null,"previous_names":["arkodeepsen/worknet"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkodeepsen%2FWorknet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkodeepsen%2FWorknet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkodeepsen%2FWorknet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkodeepsen%2FWorknet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arkodeepsen","download_url":"https://codeload.github.com/arkodeepsen/Worknet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246230543,"owners_count":20744349,"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":[],"created_at":"2024-12-10T06:08:21.237Z","updated_at":"2025-10-07T21:59:11.167Z","avatar_url":"https://github.com/arkodeepsen.png","language":"EJS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WorkNet - AI-Powered Career \u0026 Job Portal\n\n## Overview\n\nWorkNet is a comprehensive platform developed for the Government of Rajasthan as part of SIH2024. The project leverages modern web technologies and integrates advanced AI capabilities to streamline job search and recruitment processes. The backend is powered by Node.js, Express, and Flask, handling functionalities like user authentication, AI-driven features, document generation, and database interactions.\n\n## Features\n\n- **User Authentication**: Secure signup and login with password hashing using `bcrypt` and 2FA with email verification.\n- **AI Integration**: Advanced AI functionalities including job recommendations, resume generation, chatbot services, and multimodal features.\n- **Dynamic DOCX Generation**: Create personalized documents using `docxtemplater`.\n- **Database Management**: Utilize SQLite for efficient data storage and retrieval.\n- **CSV Parsing**: Handle large datasets with `csv-parser`.\n- **Responsive UI**: Modern and responsive frontend interfaces built with EJS templates.\n\n## Technologies Used\n\n### Backend:\n\n- **Node.js** with Express for server-side logic.\n- **Flask** for Python-based API services.\n- **SQLite** for the database.\n- **Python** for AI models and integration.\n\n### Frontend:\n\n- **EJS Templates** for dynamic rendering.\n- **HTML5 \u0026 CSS3** for structuring and styling.\n- **JavaScript** for frontend logic.\n\n### AI \u0026 Machine Learning:\n\n- **Integrated AI services for chatbots, job recommendations, resume analysis, and advanced multimodal features**.\n- **Natural Language Processing (NLP)**: For understanding and generating human-like text responses.\n- **Computer Vision**: Processing visual data for enhanced user interactions.\n- **Multimodal AI Integration**: Combining text, voice, and image data for a richer user experience.\n\n### Libraries \u0026 Tools:\n\n- **bcrypt** for password hashing.\n- **multer** for file uploads.\n- **docxtemplater** for DOCX generation.\n- **csv-parser** for CSV handling.\n- **helmet** for security enhancements.\n- **vanilla-tilt.js** for interactive UI elements.\n\n## Setup Instructions\n\n### Prerequisites\n\n- **Node.js** (v14 or higher)\n- **Python** (v3.x)\n- **npm** (Node Package Manager)\n- **pip** (Python Package Manager)\n\n### Automatic Setup (Using `worknet.bat`)\n\n1. Run the `worknet.bat` file located in the root directory to automatically install all dependencies and start the servers.\n\n### Manual Setup\n\n1. **Clone the Repository**\n   ```\n   git clone https://github.com/arkodeepsen/WorkNet.git\n   cd WorkNet\n   ```\n\n2. **Node.js Setup**\n   - **Install Dependencies:**\n     ```\n     npm install\n     ```\n   - **Environment Variables:**\n     \n     Create a `.env` file in the root directory and add the following environment variables:\n     ```\n     GOOGLE_API_KEY=\n     CLOUD_API_KEY=\n     GOOGLE_CSE_ID=\n     CUSTOM_SEARCH_API=\n     HUGGINGFACE_TOKEN=\n     SECRET_KEY=\n     MAILJET_API_KEY=\n     MAILJET_SECRET_KEY=\n     EMAIL=\n     RECAPTCHA_SECRET_KEY=\n     RECAPTCHA_SITE_KEY=\n     RAPIDAPI_KEY=\n     OPENAI_API_KEY=\n     ANTHROPIC_API_KEY=\n     BREVO_API_KEY=\n     ```\n     **Note**: Replace the values with your actual API keys. Do not share these keys publicly.\n   - **Start Server:**\n     ```\n     npm run start\n     ```\n\n3. **Python Setup**\n   - **Install Virtual Environment** (Optional but recommended):\n     ```\n     python -m venv venv\n     source venv/bin/activate  # On Windows use `venv\\Scripts\\activate`\n     ```\n   - **Install Requirements:**\n     ```\n     pip install -r requirements.txt\n     ```\n   - **Run Flask Server:**\n     ```\n     python server.py\n     ```\n\n#### 1. Clone the Repository\n\n\n   ## Directory Structure\n\n   ```\n   WorkNet/\n   │\n   ├── assets/\n   │   ├── images/\n   │   ├── styles/\n   │   └── scripts/\n   │\n   ├── data/\n   │   ├── users.csv\n   │   └── jobdata.csv\n   │\n   ├── views/\n   │   ├── signup.ejs\n   │   ├── signin.ejs\n   │   ├── main.ejs\n   │   ├── job-details.ejs\n   │   └── resume-generator.ejs\n   │\n   ├── scripts/\n   │   ├── index.js\n   │   ├── jobs.js\n   │   └── resume.js\n   │\n   ├── server.js\n   ├── server.py\n   ├── database.sqlite\n   ├── package.json\n   ├── requirements.txt\n   ├── .env\n   └── README.md\n   ```\n\n   ## AI Features\n\n   ### 1. Chatbot Service\n   **Description**: An interactive chatbot to assist users with queries.  \n   **Technologies**: Integrated using Flask and connected to AI services.\n\n   ### 2. Job Recommendation System\n   **Description**: Provides personalized job recommendations based on user profiles and preferences.  \n   **Technologies**: Implements K-Nearest Neighbors (KNN) algorithm for recommendations.\n\n   ### 3. Resume Analyzer \u0026 Generator\n   **Description**: Allows users to generate and analyze resumes with AI-driven suggestions.  \n   **Technologies**: Utilizes Gemini multimodal models via API integrations.\n\n   ## Common Issues \u0026 Fixes\n\n   ### Issue: PowerShell Script Execution Disabled\n   **Error Message**:\n   ```\nnodemon : File C:\\Users\\username\\AppData\\Roaming\\npm\\nodemon.ps1 cannot be loaded because running scripts is disabled on this system. For more information, \nsee about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.\nAt line:1 char:1\n+ nodemon server.js\n+ ~~~\n    + CategoryInfo          : SecurityError: (:) [], PSSecurityException\n    + FullyQualifiedErrorId : UnauthorizedAccess\n   ```\n### Fix:\n1. **Open PowerShell as Administrator:**\n   - Search for \"PowerShell\" in your Start menu, right-click on \"Windows PowerShell,\" and select \"Run as administrator.\"\n\n2. **Check the Current Execution Policy:**\n   ```powershell\n   Get-ExecutionPolicy\n   ```\n   This command will show you the current execution policy.\n\n3. **Change the Execution Policy:**\n   To temporarily change the execution policy to allow scripts to run, use:\n   ```powershell\n   Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process\n   ```\n   This change will apply only to the current PowerShell session. If you want to change the policy permanently, you can use:\n   ```powershell\n   Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser\n   ```\n   or\n   ```powershell\n   Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine\n   ```\n   The `RemoteSigned` policy allows scripts created on the local computer to run but requires scripts downloaded from the internet to be signed by a trusted publisher.\n   **Note**: Adjusting the execution policy affects the security of your system. It's recommended to set the policy scope appropriately to minimize potential risks. For more information, refer to the [Microsoft documentation on PowerShell execution policies](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy).\n\n   ## Useful Commands\n\n   - **Install Node.js Dependencies**:\n     ```\n     npm install\n     ```\n\n   - **Install Python Dependencies**:\n     ```\n     pip install -r requirements.txt\n     ```\n\n   - **Start Servers Concurrently**:\n     ```\n     npm run start\n     ```\n\n   - **Run Servers Individually**:\n     - *Node.js Server*:\n       ```\n       nodemon server.js\n       ```\n     - *Flask Server*:\n       ```\n       python server.py\n       ```\n\n   ## Additional Information\n\n   - **Database File**: Located at `database.sqlite` in the root directory.\n   - **Environment Variables**: Keep your `.env` file secure and never commit it to version control.\n   - **API Integrations**: Ensure all API keys are valid and have the necessary permissions.\n\n   ## Links \u0026 Resources\n\n   - [Get Google API Key](https://developers.google.com/apis-explorer)\n   - [Get Google Cloud API Key](https://cloud.google.com/docs/authentication/api-keys)\n   - [OpenAI API Documentation](https://beta.openai.com/docs/)\n     \n   ## Contact\n\n   For any queries or support, please reach out to the development team at [contact@worknet.publicvm.com](mailto:contact@worknet.publicvm.com).\n\n   © 2024 WorkNet. All rights reserved.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farkodeepsen%2Fworknet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farkodeepsen%2Fworknet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farkodeepsen%2Fworknet/lists"}