Welcome to the IntranetSearch repository! This project aims to create a powerful search engine specifically tailored for the Intranet pages of the Indian Institute of Technology (IIT) Guwahati. IntranetSearch will help users efficiently search and retrieve information from the institute's internal web resources, enhancing productivity and ease of access to important information.
Before using IntranetSearch, you'll need to set up Elasticsearch, and the backend is implemented using Node.js. In this repository, you'll find a Python folder containing requirements.txt
, and there's also a Dockerfile that can be used to host the project locally.
Make sure you have the following prerequisites installed:
- Elasticsearch
- Node.js and npm
- Docker (for local hosting)
Follow these steps:
- First, clone the IntranetSearch repository to your local machine:
git clone https://github.com/swciitg/IntranetSearch.git
-
Make sure your elasticsearch server is up and running. Note down it's localhost endpoint and your username and password for Step 4.
-
Navigate to the project's backend folder:
cd IntranetSearch/backend
-
Create
.env
file with fields as in .env.sample insidebackend
folder -
Install Node.js dependencies:
npm install
- Start Backend Server:
npm start
- Go to
python
folder containing python API endpoints for this project
cd IntranetSearch/python
- Open a new terminal window in this folder and build the docker image:
docker build -t intranetsearch .
- Run the Docker Container locally:
docker run -p 8080:80 -v "$(pwd)\..\data:/app/data" intranetsearch
Remember to handle Elasticsearch security settings and access control as needed to protect sensitive Intranet content.
- Access the IntranetSearch python FastAPI backend by navigating to http://localhost:8080/docs (or the URL of your deployment).
- Access the Node API by navigating to http://localhost:PORT as in
.env
file.
Visit CONTRIBUTING.md for more insights on contributing to this repo.
Thank you for participating in intranetSearch's Hacktoberfest. We appreciate your contributions, and together, we can make intranetsearch even better for college sites everywhere. If you have any questions or need assistance, feel free to reach out to us via GitHub issues or our community chat.
Happy coding! ๐๐