CodexDrake est un moteur de recherche open source, qui vous permet de naviguer sur Internet de manière sûre et anonyme, en trouvant une diversité de résultats basés sur différentes catégories telles que : Images, Actualités, Sites Internet, Livres, entre autres...
Le logiciel est principalement écrit en JavaScript, en utilisant NodeJS comme backend et Vite + React sur le frontend. À l'intérieur du backend, on utilise la bibliothèque "cdrake-se" publiée par NPM, qui, en termes simples, vous permet d'intégrer le moteur de recherche qui rend ce logiciel accessible à n'importe quelle application dont vous disposez.
Accédez au package "cdrake-se" dans NPM.
Au sein de la bibliothèque, une grande variété de moteurs de recherche sont utilisés pour pouvoir résoudre les demandes formulées, parmi lesquels : Google, Bing, Yahoo, Ask, Qwant, Youtube, entre autres... De plus, cela permet de trouver des suggestions selon un terme délivré et effectuer des recherches sur Wikipédia.
Considérez que 'cdrake-se' n'est pas exempt d'une erreur HTTP 429 (Too Many Requests), qui peut survenir si un grand nombre de requêtes sont effectuées dans un laps de temps relativement court. Cependant, lors de l'utilisation de la recherche automatique (vous pouvez en savoir plus à ce sujet dans la documentation de la bibliothèque), "Promise.any" est utilisé, ce qui se traduit par quelque chose comme "De toutes les requêtes faites aux moteurs de recherche pour résoudre la requête, celle celui qui termine en premier sera celui qui sera restitué. Autrement dit, compte tenu de la variété des moteurs de recherche qui intègrent la bibliothèque, si une erreur de quelque nature que ce soit se produit, y compris HTTP 429, ce ne sera pas un problème puisqu'il y aura d'autres moteurs qui renverront une réponse. Le concept susmentionné est ce qui rend le moteur de recherche rapide et efficace dans une large mesure.
Quant au nom "CodexDrake", il a sa signification par derrière, l'interprétation du nom est "Cupidité des Résultats", Codex du latin est cupidité et Drake l'interprète sachant que c'est une équation qui permet de trouver le nombre de civilisations dans une certaine galaxie. (Je pense que je ne suis pas fou).
Le logiciel est conçu pour pouvoir être auto-hébergé sur n'importe quel serveur que vous préparez, il vous permet de déployer avec Docker ou d'effectuer une installation manuelle, je veux dire, installer les modules npm du client et du serveur et puis lancez un npm run start... vous savez.
Comme mentionné dans la bibliothèque qui permet le fonctionnement de ce logiciel 'cdrake-se', les résultats des recherches dépendront de la zone géographique où se situe le serveur. Au moment où j'écris ceci, l'instance est déployée sur un serveur en Allemagne. Gardez à l’esprit que si vous déployez le logiciel localement sur votre ordinateur et, par exemple, si vous vous trouvez dans un autre pays comme le Chili, les résultats seront différents. Je pense que cela est lié aux moteurs de recherche correspondants et à la façon dont fonctionne le service backend, je suppose qu'ils prennent l'adresse IP, extraient le pays et renvoient une réponse en fonction du contexte du pays.
Sûr et convivial avec vos données
Interface utilisateur Web réactive
Pas de frais ni d'abonnement (Pas d'API payantes)
Expérience utilisateur riche
Architecture facile à utiliser
Ridiculement rapide
Mode sombre et mode clair
Prise en charge de Docker
Il existe deux manières de déployer votre instance, manuellement ou via Docker. Les deux sont relativement simples, ci-dessous nous allons déployer manuellement, quelques commandes dans le terminal suffiront.
# Clonage du référentielgit clone https://github.com/codewithrodi/CodexDrake/# Accès au dossier générécd CodexDrake# Initialisation de la configuration du serveur et du client à l'aide du fichier 'Setup.py' qui sera expliqué plus tardpython3 Setup.py# Vous devez maintenant attendez que 'Setup.py' fasse son travail, essayez d'accepter tout ce qu'il propose.# Démarrez le client Web UIcd && npm run dev# Démarrez le serveur backend cd && npm courir démarrer
# Clonage du clone du référentiel git https://github.com/codewithrodi/CodexDrake/# Accès au dossier générécd CodexDrake# Exécution de dockerdocker compose up -d
Les fichiers d'environnement ".env" n'ont pas beaucoup de science derrière eux, à l'intérieur du dossier "Serveur/" se trouve le fichier ".env" qui contient les définitions utilisées lors de son exécution, certaines comme les certificats SSL ou l'adresse dans le réseau du serveur. ils y sont déclarés. Dans cette section, je vais me concentrer sur vous montrer ce qui compte vraiment, à savoir la liaison de l'application client avec le serveur. Le fichier d'environnement du serveur est assez descriptif en termes de nomenclature des variables, en plus d'avoir des commentaires, malgré le fait que rien ne soit acquis, il n'est pas nécessaire de vous expliquer ce fichier, vous comprendrez tout seul.
Dans le dossier "Client/", où se trouve l'application Vite + React, se trouve un fichier appelé ".env", où vous devez faire attention à la variable "VITE_CDRAKE_SERVER_ENDPOINT" dont la valeur doit être le point final du serveur backend de votre instance , par défaut il s'agit de http://0.0.0.0:8000, mais cela peut être par exemple http://backend.mycodexdrakeinstance.com.
# <Client/.env> VITE_CDRAKE_REPOSITORY = https://github.com/codewithrodi/CodexDrake/VITE_CDRAKE_VERSION = Stable v1.0.3VITE_CDRAKE_SERVER_ENDPOINT = http://0.0.0.0:8000/api/v1
Pensez à ajouter /api/v1 à votre point de terminaison.
Dans le dossier qui a été généré lors du clonage du référentiel, il y a un fichier appelé "Setup.py", qui vous permet d'exécuter plusieurs instructions qui vous feront gagner un peu de temps, puis les arguments que ce fichier peut recevoir seront expliqués pour vous.
# À l'intérieur du dossier généré lors du clonage du référentiel.# (( /CodexDrake/ )# Installer automatiquement les "node_modules" des applications serveur et client.python3 Setup.py# Supprimer les "node_modules" pour l'application client et serveur.python3 Setup .py DeleteModules# Supprime uniquement les "node_modules" de l'application client.python3 Setup.py DeleteClientModules# Supprime uniquement les "node_modules" du serveur application.python3 Setup.py DeleteServerModules# Supprimer tout le code source du serveur application.python3 Setup.py DeleteServerSource# Supprimer tout le code source du client application.python3 Setup.py DeleteClientSource
La licence MIT (Massachusetts Institute of Technology License) est une licence logicielle open source permissive. Il permet aux développeurs d'utiliser, de modifier, de distribuer et de sous-licencier le logiciel sans restrictions matérielles. La licence MIT se caractérise par sa simplicité et n'impose pas beaucoup de restrictions légales aux utilisateurs.
Cassez et apprenez du logiciel, extrayez-en des éléments et construisez de meilleures choses. Bonne chance!
Site web
MNP
Codepen
GitHub