This project is designed to provide a simple and efficient search system by gathering data from the web, processing it on the backend, and displaying it via the frontend.
This application consists of three main components:
- Crawler: This component scrapes data from the internet.
- Backend: Handles requests and serves data from the database.
- Frontend: Provides the user interface for interacting with the search system.
The project uses the following technologies:
- Golang: For building the backend API.
- Docker: To containerize the application for easy deployment and scalability.
- PostgreSQL: For storing data and interacting with the database.
- Next.js: For the frontend interface.
To set up this project locally, follow these steps:
- Clone the repository
git clone https://github.com/SarvarbekUP/Searchin_v1.git
cd Searchin_v1
-
Set up the environment variables: Create a
.env
and setup like.env.example
-
Run crawler, backend and frontend:
For crawler:
cd crawler
go run main.go
For backend:
cd backend
go run cmd/server/main.go
For frontend:
cd fontend
npm run dev
- Clone the repository:
git clone https://github.com/SarvarbekUP/Searchin_v1.git
cd Searchin_v1
- Set up the environment variables:
Create a .env
and setup like .env.example
- Run the Docker containers:
Make sure Docker is installed on your machine. Then, build and start the containers with:
docker-compose up --build
- Access the application:
Once the containers are up and running, access the app at http://localhost:4000.
Once the application is running, follow these steps:
- Navigate to
http://localhost:4000
to interact with the search system. - The frontend will display the results fetched from the backend, which in turn gets its data from the crawler and database.
Feel free to contribute to this project! Here's how you can help:
- Fork the repository.
- Create a new branch (
git checkout -b feature-name
). - Make your changes and commit them (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature-name
). - Create a pull request.
If you encounter any bugs or have suggestions for improvements, please open an issue, and we will address it.
This project is licensed under the MIT License.
Thank you for exploring this project! Feel free to reach out if you have any questions or suggestions.