This is a localized electronic book retrieval system that supports advanced search queries.
The project is built using FastAPI and a SQLite database and can be easily deployed with the distribution package provided by this project.
The database provided by this project is aggregated from many channels, so there may be incomplete information and other issues. Please understand.
If you find errors in the database content or have good content you want to share with others, please contact me.
If there are many participants, the database will be updated regularly. Everyone contributes, and everyone benefits.
You can join a group chat to interact with like-minded people.
QQ Group: 942385978
Video:
YouTube: https://youtu.be/-jD8OsF6di4
bilibili: https://www.bilibili.com/video/BV1fN4y1r7fP/
Other repository address: https://gitee.com/etojsyc/EbookDatabase
-
Download the software package released by this project.
-
Unzip the downloaded package.
-
Download the project's database file and place it in the instance folder.
-
Double-click the exe to start the project with one click.
-
Then use it at http://127.0.0.1:10223/.
-
Open a terminal or command prompt, and navigate to the root directory of your project.
-
Create a new virtual environment. You can use the following command:
python -m venv venv
This will create a new virtual environment named venv
in the project root directory.
- Activate the virtual environment. On Windows, use the following command:
venv\Scripts\activate
On macOS and Linux, use the following command:
source venv/bin/activate
Once the virtual environment is activated, the virtual environment name will appear in front of the terminal prompt, indicating that it is active.
- Next, install the dependencies required for the project. Use the following command to install dependencies in the virtual environment:
pip install -r requirements.txt
This will install all the dependencies required for the project according to the requirements.txt
file, and these dependencies will only be available in the virtual environment.
- Finally, run the application. Use the following command to start the application:
python app.py
This will run the application in the virtual environment, and then use it at http://127.0.0.1:10223/.
Build a Windows executable using source code.
-
Make sure you are executing this step on Windows.
-
Operate the same as in Method 2, but in the fifth step, use the following command to build the application:
python setup.py build
This will create a new directory named build
in the project root directory, which contains the built application.
-
Pull the image directly from dockerhub
docker push hellohistory/ebookdatabase:tagname
-
After the build is complete, run the following command to start the container:
docker run -v /path/to/instance:/app/instance -v /path/to/logs:/app/logs -p 10223:10223 ebookdatabase
You need to replace /path/to/instance with your local database file path, and /path/to/logs with your local log file path.
This will start a Docker container named ebookdatabase
and map the container's 10223 port to the same port on the host.
- Visit
http://127.0.0.1:10223/
in your browser to use the app.
Build and use a Docker container on your own.
-
Make sure Docker is installed on your system. If not, refer to the installation guide on the Docker official website.
-
Clone or download the source code of this project to your local environment. Make sure the
Dockerfile
is in the project root directory. -
In the terminal or command prompt, navigate to the project root directory and run the following command to build the Docker image:
docker build -t ebookdatabase .
-
After the build is complete, run the following command to start the container:
docker run -v /path/to/instance:/app/instance -p 10223:10223 ebookdatabase
You need to replace /path/to/instance with your local database file path.
This will start a Docker container named
ebookdatabase
and map the container's 10223 port to the same port on the host. -
Visit
http://127.0.0.1:10223/
in your browser to use the app.
- Supports local basic search and advanced search
- Supports fuzzy and precise search
- Displays results with pagination
If you encounter problems while running this project, please submit issues as follows:
1. Operating environment
2. Search conditions used
3. Screenshot of the error screen
This project is only for learning and communication purposes and is prohibited from being used in any commercial scenarios.
This project will never authorize anyone to use it for commercial purposes in any form. Any commercial scenario claiming to use this project is a rumor.
If rights are infringed, please contact the project for deletion.
This project assumes no responsibility. All responsibility is borne by the user. Please read the license file for details.