Skip to content

Commit

Permalink
Merge pull request #33 from kamyabnazari/mk-adjusting-readme
Browse files Browse the repository at this point in the history
Mk adjusting readme
  • Loading branch information
kamyabnazari authored Jul 5, 2023
2 parents 8d38ce0 + a816fef commit 189f23e
Show file tree
Hide file tree
Showing 6 changed files with 109 additions and 89 deletions.
90 changes: 61 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,72 +1,104 @@
# EE - Epistle Engine

This is the Repository for the unified services for the Epistle Engine with github actions and docker support.
This is the Repository for the unified services for the Epistle Engine with Github actions and Docker support.

For a live demo visit:
https://epistleengine.com/

## Status

[![Deploy Backend](https://github.com/kamyabnazari/epistle-engine/actions/workflows/deploy-backend.yml/badge.svg)](https://github.com/kamyabnazari/epistle-engine/actions/workflows/deploy-backend.yml)
[![Deploy Frontend](https://github.com/kamyabnazari/epistle-engine/actions/workflows/deploy-frontend.yml/badge.svg)](https://github.com/kamyabnazari/epistle-engine/actions/workflows/deploy-frontend.yml)

[![Deploy Pocektbase](https://github.com/kamyabnazari/epistle-engine/actions/workflows/deploy-pocketbase.yml/badge.svg)](https://github.com/kamyabnazari/epistle-engine/actions/workflows/deploy-pocketbase.yml)
[![Deploy Qdrant](https://github.com/kamyabnazari/epistle-engine/actions/workflows/deploy-qdrant.yml/badge.svg)](https://github.com/kamyabnazari/epistle-engine/actions/workflows/deploy-qdrant.yml)

[![Test Backend](https://github.com/kamyabnazari/epistle-engine/actions/workflows/test-backend.yml/badge.svg)](https://github.com/kamyabnazari/epistle-engine/actions/workflows/test-backend.yml)
[![Test Frontend](https://github.com/kamyabnazari/epistle-engine/actions/workflows/test-frontend.yml/badge.svg)](https://github.com/kamyabnazari/epistle-engine/actions/workflows/test-frontend.yml)

## About the Project

Our goal is to revolutionize how people interact with documents. We understand the frustrations of traditional document processing methods, where finding information can be time-consuming. That's why we developed a system that allows users to extract valuable insights, ask questions, and receive instant answers from PDF documents.

Our application, combined with the OpenAIs GPT model, transforms the way you engage with PDFs. It's easy to ask specific questions or understand complex concepts without flipping through countless pages. We built a plugin that simplifies document navigation, question answering, and comprehension.

But we didn't stop there. We also recognize the need for efficient document creation. That's why we added a feature that generates content based on your prompts. Whether you need an essay or a research report, our application not only drafts your document but also provides a beautifully formatted PDF ready for use.

Our journey is guided by the belief that technology should make our lives easier, not more complicated. Our application, powered by the OpenAIs GPT Model, reflects this belief. We aim to make document processing a breeze and transform how you create, read, and engage with your content.

Thank you for joining us on this journey. We are confident that our product will redefine your document experience, making it more efficient, interactive, and meaningful.

Welcome to the future of document processing.

## Conventions

Branch naming convention: `kn-<feature-name>` with author name initials at the beginning.
Branch naming convention: `<name-initials>-<feature-name>` with author name initials at the beginning.

Branch Example: `kn-feature-name-example`

## Tech-Stack

### General

- Git [Version Control]
- Docker [Containerization]
- GitHub [Code Hosting]
- GitHub Actions [CI/CD]
- [Git](https://git-scm.com) [Version Control]
- [Docker](https://www.docker.com/get-started) [Containerization]
- [GitHub](https://github.com/) [Code Hosting]
- [GitHub Actions](https://github.com/features/actions) [CI/CD]

### Frontend

- Typescript [Programming Language]
- NodeJs [Javascript runtime]
- SvelteKit [Full-Stack Framework]
- Svelte [Frontend Framework]
- PocketBase [SaaS - Database/File-Storage/Authentication]
- TailwindCSS [CSS Framework]
- DaisyUI [Tailwind Component Library]
- [Typescript](https://www.typescriptlang.org/) [Programming Language]
- [NodeJs](https://nodejs.org) [Javascript runtime]
- [SvelteKit](https://kit.svelte.dev/) [Full-Stack Framework]
- [Svelte](https://svelte.dev/) [Frontend Framework]
- [PocketBase](https://www.pocketbase.io/) [SaaS - Database/File-Storage/Authentication]
- [TailwindCSS](https://tailwindcss.com/) [CSS Framework]
- [DaisyUI](https://daisyui.com/) [Tailwind Component Library]

### Backend

- Python [Programming Language]
- FastApi [Backend Framework]
- LangChain [Language Processing]
- OpenAI GPT [Language Processing]
- [Python](https://www.python.org/downloads/) [Programming Language]
- [FastApi](https://fastapi.tiangolo.com/) [Backend Framework]
- [LangChain](https://langchain.io/) [Language Processing]
- [OpenAI GPT](https://openai.com/) [Language Processing]

### PocketBase

- SQLite [Database]
- [SQLite](https://www.sqlite.org/index.html) [Database]
- Authentification
- File Storage

### Qdrant

- Qdrant [Vector Search Engine]
- [Qdrant](https://qdrant.io/) [Vector Search Engine]

## Getting Started

Install all of the prerequisites and follow the instructions in the README.md files of the services.
Install all the prerequisites and follow the instructions in the README.md files of the services.

### Prerequisites

- Git
- Docker
- NPM
- Nodejs
- Python
- [Git](https://git-scm.com/downloads)
- [Docker](https://www.docker.com/get-started)
- [NPM](https://www.npmjs.com/)
- [Nodejs](https://nodejs.org)
- [Python](https://www.python.org/downloads/)

#### PDF Generation

- texlive-full (latex)
- pkg-config
- cairo
- wkhtmltopdf (HTML to PDF converter)
These all also have to be installed on the system in order to generate PDFs.

- [texlive-full](https://www.tug.org/texlive/acquire-netinstall.html) (latex)
- [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/)
- [cairo](https://cairographics.org/download/)
- [wkhtmltopdf](https://wkhtmltopdf.org/downloads.html) (HTML to PDF converter)

## Development

Please create the services after another in order and follow the instructions in the README.md files.

Please setup in the following order:

### 1. Setup [Pocketbase](pocketbase/README.md)

### 2. Setup [Qdrant](qdrant/README.md)
Expand Down
10 changes: 5 additions & 5 deletions frontend/src/lib/components/FileTable.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -66,12 +66,12 @@
<table class="table w-full">
<thead>
<tr>
<th class="w-1/12" />
<th class="w-4/12">Name</th>
<th class="w-0/12" />
<th class="w-3/12">Name</th>
<th class="w-1/12">Type</th>
<th class="w-1/12">Topic</th>
<th class="w-2/12">Create Date</th>
<th class="w-3/12">Actions</th>
<th class="w-4/12">Topic</th>
<th class="w-3/12">Create Date</th>
<th class="w-0/12">Actions</th>
</tr>
</thead>
<tbody class="bg-base-100">
Expand Down
43 changes: 17 additions & 26 deletions frontend/src/routes/(docs)/about-us/+page.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -6,43 +6,34 @@
Welcome to our realm, the space where technology interfaces with your ideas.
</p>
<p class="py-6 text-justify text-base">
Hailing from different academic backgrounds, our paths converged over a shared vision - the
passion for leveraging the power of AI to simplify and enhance everyday tasks. Our
backgrounds complement each other, creating an effective blend of skillsets.
Our goal is to revolutionize how people interact with documents. We understand the
frustrations of traditional document processing methods, where finding information can be
time-consuming. That's why we developed a system that allows users to extract valuable
insights, ask questions, and receive instant answers from PDF documents.
</p>
<p class="py-6 text-justify text-base">
Our product is a testament to our commitment to revolutionize how people interact with
documents. Frustrated by the limitations of traditional document processing methods, we took
it upon ourselves to bridge the gap between information and its interpretation. We
envisioned a system where a user could delve into a PDF document, extract valuable insights,
ask questions and get instant answers, all without flipping through countless pages.
Our application, combined with the OpenAIs GPT model, transforms the way you engage with
PDFs. It's easy to ask specific questions or understand complex concepts without flipping
through countless pages. We built a plugin that simplifies document navigation, question
answering, and comprehension.
</p>
<p class="py-6 text-justify text-base">
Enter our application and the ChatGPT plugin. This innovative software transforms how you
engage with PDFs. Want to ask a question about a specific segment in the document? No
problem. Wish to understand a particular concept without going through hundreds of pages?
Consider it done. We've taken the power of GPT-4 AI, fine-tuned it, and have built a plugin
that simplifies document navigation, question answering, and comprehension.
But we didn't stop there. We also recognize the need for efficient document creation. That's
why we added a feature that generates content based on your prompts. Whether you need an
essay or a research report, our application not only drafts your document but also provides
a beautifully formatted PDF ready for use.
</p>
<p class="py-6 text-justify text-base">
But we didn't stop there. Recognizing the growing need for efficient document creation, we
introduced a feature to write content based on your prompts. From essays to research
reports, the application not only drafts your document but also provides a beautifully
formatted PDF, ready for use.
</p>
<p class="py-6 text-justify text-base">
Our journey has been driven by a fundamental belief - technology should aid humans, not
complicate their lives. Our application, powered by the ChatGPT plugin, is a manifestation
of that belief. It's an endeavor to make document processing a breeze and transform how you
create, read, and engage with your content.
Our journey is guided by the belief that technology should make our lives easier, not more
complicated. Our application, powered by the OpenAIs GPT Model, reflects this belief. We aim
to make document processing a breeze and transform how you create, read, and engage with
your content.
</p>
<p class="py-6 text-justify text-base">
Thank you for joining us on this journey. We are confident that our product will redefine
your document experience, making it more efficient, interactive, and meaningful.
</p>
<p class="py-6 text-justify text-base">
Welcome to the future of document processing. Welcome to our vision.
</p>
<p class="py-6 text-justify text-base">Welcome to the future of document processing.</p>
<p class="py-6 text-justify text-base">Epistle Engine Team</p>
</div>
</div>
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/routes/(docs)/contact/+page.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
<h1 class="text-4xl font-bold md:text-5xl">Contact</h1>
<p class="py-6 text-justify text-base">
We believe in the power of open communication, and your input is incredibly valuable to us.
If you have any queries, suggestions, or feedback about our application and ChatGPT plugin,
we would love to hear from you.
If you have any queries, suggestions, or feedback about our application, we would love to
hear from you.
</p>
<p class="py-6 text-justify text-base">Please reach us at</p>
<p class="py-6 text-justify text-base">
Expand Down
49 changes: 23 additions & 26 deletions frontend/src/routes/(docs)/documentation/+page.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -3,57 +3,54 @@
<div class="my-20 max-w-md">
<h1 class="text-4xl font-bold md:text-5xl">Documentation</h1>
<div class="container mx-auto">
<h2 class="py-4 text-3xl font-semibold md:text-4xl">Installation</h2>
<h2 class="py-4 text-3xl font-semibold md:text-4xl">Getting Started</h2>
<ol class="list-decimal py-2">
<li class="py-2">
Download the application from our official website. You will receive a .zip file.
Our web application does not require any downloads. Simply visit our official website to
get started.
</li>
<li class="py-2">Unzip the downloaded file and locate the setup.exe file.</li>
<li class="py-2">
Double click on the setup.exe file to start the installation process. Follow the
on-screen instructions. Once the installation is complete, open the application.
Register or log in to access all of the features our application offers.
</li>
</ol>
<h2 class="py-4 text-3xl font-semibold md:text-4xl">Working with PDFs</h2>
<h3 class="py-2 text-2xl font-semibold md:text-3xl">Step 1: Importing a PDF</h3>
<p class="py-2 text-justify">
Go to "File" &gt; "Open," locate the PDF document you want to work with and click "Open."
To start, click on "File" > "Open," locate the PDF document you want to work with, and
click "Open." Our web application will then load the content of the PDF for you.
</p>
<h3 class="py-2 text-2xl font-semibold md:text-3xl">Step 2: Asking Questions</h3>
<p class="py-2">
Once you've opened your PDF, you can ask questions about its content. Simply type your
question into the "Ask a question" box on the right side of the screen and hit "Enter."
The ChatGPT plugin will process your question and provide a response based on the content
of the PDF.
</p>
<h3 class="py-6 text-2xl font-semibold md:text-3xl">
Step 3: Highlighting and Note-Taking
</h3>
<p class="py-1">
You can also highlight text and add notes to your PDF. To do so, select the text you wish
to highlight, right-click, and choose "Highlight." To add a note, right-click on the
highlighted text and select "Add Note."
Once your PDF is loaded, you can ask questions about its content. Type your question into
the "Ask a question" box on the right side of the screen and hit "Enter." The Epistle
Engine will process your question and provide a response based on the content of the PDF.
</p>
<h2 class="py-4 text-3xl font-semibold md:text-4xl">Creating a PDF</h2>
<h3 class="py-2 text-2xl font-semibold md:text-3xl">Step 1: Drafting the Document</h3>
<p class="py-2">
Click on "File" &gt; "New Document." In the prompt box, enter your topic or the
instructions for your essay/report. Click "Create" and the AI will generate the document
based on your prompt.
Click on "File" > "New Document." In the prompt box, enter your topic or the instructions
for your essay/report. Click "Create" and the AI will generate the document based on your
prompt.
</p>
<h3 class="py-2 text-2xl font-semibold md:text-3xl">
Step 2: Formatting and Saving as a PDF
</h3>
<p class="py-2">
Once the document is created, you can format it according to your requirements. You can
adjust the font type, size, and color, add headers and footers, and more. After
formatting, click on "File" &gt; "Save as PDF." Choose the location where you want to save
the file and click "Save."
formatting, click on "File" > "Save as PDF." Choose the name for your file and click
"Save." The document will then be available for you to download as a PDF.
</p>
<h2 class="py-4 text-3xl font-semibold md:text-4xl">Viewing Stats</h2>
<p class="py-2">
You can access various stats regarding the embeddings created and types of files you have.
Go to the "Stats" section on the navigation menu. Here, you can see detailed stats of your
usage.
</p>
<p class="py-2">
This is just a brief overview of the many features our application and the ChatGPT plugin
offer. For a more detailed guide, please refer to the User Manual included in the
application.
This is just a brief overview of the many features our web application and Epistle Engine
offer. For a more detailed guide, please refer to the User Manual available on our
website.
</p>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion pocketbase/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ docker-compose up

### Create Backend admin user

Navigate to http://localhost:8090 or the Deployed URL and create an admin user if not already created.
Navigate to http://localhost:8090/_/ or the Deployed URL and create an admin user if not already created.

It should match your backend admin user credentials in your .env file.

Expand Down

0 comments on commit 189f23e

Please sign in to comment.