Skip to content

Shiyinq/quest-by-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

QUEBYS - QUEST BY SYSTEM

GitHub top language GitHub repo size GitHub last commit GitHub commit activity

Home Quests Detail Quest Profile
Home Quests Detail Quest Profile

Sometimes we get confused about what to do today. For example, I'm a software engineer who often gets confused about how to fill my free time. As a result, my days are filled with sleeping or playing games. Therefore, this casual project was created. You will be given quests by an open-source LLM powered by Ollama, so you have references on what to do, for instance, as a software engineer. In short, just like in an MMORPG game, you will be given quests by the system.

Table of Contents

Requirements

  • Python v3.9.12 ~
  • MongoDB v5.0
  • Ollama latest version
  • Docker latest version

Getting Started with Docker

Before you begin, ensure you have Docker installed.

1. Clone the repository

git clone https://github.com/Shiyinq/quest-by-system.git
cd quest-by-system

2. Create environment files

For the backend:

cp .env.example .env

For the frontend:

cd client/web
cp .env.example .env
cd ..

Fort the bot:

cd client/telegram-bot
cp .env.example .env
cd ../../

Open each .env file you have created and update the values as needed.

3. Build and run the Docker containers

docker compose up --build -d

Wait a few minutes for the setup to complete. You can then access:

Development

Run the backend

Make sure you have Ollama installed and at least one model downloaded from Ollama. For a better experience, use the model llama3:instruct.

After that, you can follow this instructions.

1. Clone this repository

git clone https://github.com/Shiyinq/quest-by-system.git

2. Navigate to the project directory

cd quest-by-system

3. Create python environment

You can use any Python environment like conda or others, but I am using venv.

create environment

python -m venv .venv

activate environment

source .venv/bin/activate

4. Install requirements

Install the required dependencies with the following command:

pip install -r requirements/dev.txt

5. Create .env file

cp .env.example .env

6. Make sure you have created a MongoDB database

The default DB_NAME is quest, but you can change it in the .env file.

7. Running the project

sh scripts/start-dev.sh  

Open API Docs

http://localhost:5000/docs

Run the frontend and telegram bot

You can use the API to create your own client, but we already have clients available for you to try: a Telegram Bot and a Web client.

Documentation for the Telegram Bot and Web client is provided.

Contributing

  • You can open issues to report bugs or request features.
  • You can fix bugs and add features on your own.
    1. Fork this repository
    2. Create a feature branch git checkout -b new-feature
    3. Commit your changes git commit -m 'Add new feature'
    4. Push to the branch git push origin new-feature
    5. Create a Pull Request