django flix video streaming
1.0.0
แอพ Djangoflix เป็นแอพ Django ที่ให้คุณค้นหาภาพยนตร์และรายการทีวีจากชื่อหลายล้านชื่อ มันใช้ Elasticsearch 7 เป็นเครื่องมือค้นหาและ Django-Haystack เพื่อรวมเข้ากับ Django จนถึงตอนนี้ Elasticsearch เป็นเครื่องมือค้นหาที่ดีที่สุดสำหรับการค้นหาข้อความและเร็วมาก นอกจากนี้ยังง่ายมากที่จะรวมเข้ากับ Django ในขณะที่ค้นหาผ่านแอพคุณสามารถกรองผลลัพธ์ตามปีประเภทและการให้คะแนน หากคุณทำฟังก์ชั่นเดียวกันนี้โดยใช้การค้นหา django เริ่มต้นเช่นการใช้ icontains หรือ contains แล้วมันจะใช้เวลามากในการค้นหาและกรองผลลัพธ์ แต่ด้วย Elasticsearch มันเร็วและใช้งานง่ายมาก
โครงการนี้อยู่ระหว่างการทำงานและฉันกำลังพยายามเพิ่มฟังก์ชั่นการสตรีมวิดีโอบางอย่างให้กับสิ่งนี้ ดังนั้นโปรดตรวจสอบความมุ่งมั่นหากคุณไม่แน่ใจว่าจุดใดที่จะเรียกดู codebase ของ repo นี้

docker-compose up ในเทอร์มินัลและมันจะเรียกใช้แอพ แต่ถ้าคุณต้องการเรียกใช้แอพโดยไม่ต้อง Docker ให้ทำตามขั้นตอนด้านล่างgit clone https://github.com/selftaughtdev-me/movie-search-api.gitsudo apt update -y
# install postgresql as sqlite is not efficient enough to handle millions of records
sudo apt install libpq-dev postgresql postgresql-contrib -y
sudo service postgresql start
# install python3 & build-essential
sudo add-apt-repository ppa:deadsnakes/ppa # for all python versions
sudo apt update -y
sudo apt-get install apt-transport-https
sudo apt install python3.8 python3.8-dev python3.8-venv build-essential -y
# install java as it is required for elasticsearch
sudo apt install openjdk-11-jdk openjdk-11-jre -y
# install ElasticSearch
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo " deb https://artifacts.elastic.co/packages/7.x/apt stable main " | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt update
sudo apt install elasticsearch -y
sudo service elasticsearch start
sudo service elasticsearch statussudo -u postgres psql
CREATE DATABASE django_flix ;
CREATE USER django_flix_user WITH PASSWORD ' html_programmer ' ;
ALTER ROLE django_flix_user SET client_encoding TO ' utf8 ' ;
ALTER ROLE django_flix_user SET default_transaction_isolation TO ' read committed ' ;
ALTER ROLE django_flix_user SET timezone TO ' UTC ' ;
GRANT ALL PRIVILEGES ON DATABASE django_flix TO django_flix_user ;
q # inside project root directory
python3.8 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install wheel
pip install -r requirements.txt
# migrate
./manage.py migrate
./manage.py createsuperuser./manage.py generate_test_data 1000000./manage.py runserver
http://localhost:8000/api/ ? q=t
http://localhost:8000/api/search/ ? q=t & facets=year:1983
http://localhost:8000/api/search/ ? q=t & facets=year:1983,genre:rise
