Maison > interface Web > js tutoriel > le corps du texte

C'est ainsi que j'ai construit un outil d'analyse pour les produits numériques

Barbara Streisand
Libérer: 2024-10-24 02:05:02
original
519 Les gens l'ont consulté

Hé les gars,

Récemment, je suis tombé amoureux des analyses de données de toutes sortes.

Alors que je cherchais une activité secondaire, j'ai exploré différentes options et suis tombé sur le monde des produits numériques. Des plateformes comme Gumroad, Ko-fi et d'autres dominent ce marché.

Mais je me suis heurté dès le début à un obstacle : il existe des centaines de produits.

Alors, lequel dois-je vendre ?

Après avoir recherché divers articles et plateformes, j'ai réalisé qu'il n'y avait pas suffisamment de données solides pour prendre une décision éclairée.

Cela m'a amené à commencer à suivre les tendances sur l'un des plus grands marchés de produits numériques : Gumroad.

v0.1

J'ai commencé avec un simple script JavaScript qui effectue des requêtes API de base vers l'API Gumroad accessible au public. Vous pouvez facilement voir ces demandes dans l'onglet Réseau du navigateur :
https://gumroad.com/products/search?&tags[]=vrchat&from=10

C'était un bon début. J'ai décidé de suivre les 10 balises les plus populaires et de récupérer des données quotidiennement.

Pile technologique que j'ai utilisée :

  1. Node.js
  2. Axios axios-réessayer axios-rate-limit
  3. FS pour écrire sur le système de fichiers
  4. Des outils d'IA pour accélérer le codage

Ça a bien fonctionné. J'ai collecté des données plusieurs jours de suite et je les ai trouvées suffisamment intéressantes pour les développer davantage. J'ai également reçu le soutien de la communauté sur X, j'ai donc décidé de passer à l'étape suivante.

v0.2

J'ai réalisé que connaître les tags les plus populaires ne suffirait pas : le véritable potentiel réside dans l'identification des tags qui se développent.

Lors de ma prochaine itération, j'ai collecté des sous-balises des niches les plus populaires et j'ai rassemblé plus de 5 000 balises de cette façon.

Cela générait plus de 20 000 lignes de données par jour, j'avais donc besoin d'une solution de stockage.

Comme il est toujours possible d'héberger un cluster gratuit sur MongoDB Atlas et que MongoDB se marie bien avec JavaScript, je l'ai choisi comme option de stockage. Désormais, les données sont stockées et je peux exécuter diverses analyses.

Un autre défi était le temps nécessaire pour collecter les données.
Au début, cela a duré cinq heures. C'est à ce moment-là que j'ai découvert les proxys. Après avoir mis en place plusieurs serveurs proxy pour traiter les données en parallèle, le temps de collecte est passé de cinq heures à seulement 30 minutes.

v0.2.1

J'exécutais tous les scripts manuellement, j'ai donc décidé d'automatiser le processus.

J'ai hébergé le code source sur un serveur distant sur Hetzner et mis en place des tâches cron via crontab.

0 18 * * * /usr/bin/node index.js collect-data
0 21 * * * /usr/bin/node index.js collect-totals
Copier après la connexion

Le premier travail collecte les données et le second les agrège pour un résumé. Il supprime les doublons et calcule la croissance par rapport à la veille.

const [mode = 'collect-data'] = process.argv.slice(2);
if (mode === 'collect-data') {
    return collectData();
}
if (mode === 'collect-totals') {
    return collectTotals();
}
Copier après la connexion

v0.3

J'ai décidé de créer une interface utilisateur simple pour ce projet et de la partager publiquement. C'est ainsi que gumroadtrends.com a été lancé.

J'ai utilisé :

  • VueJS pour l'interface utilisateur
  • Bootstrap pour le framework CSS
  • Chart.js pour visualiser les données
  • GA4 pour l'analyse d'utilisation
  • J'ai également utilisé Hetzner et PM2 pour l'hébergement puisque j'avais déjà un serveur pour héberger tous mes produits.

Voici à quoi ressemble l'interface utilisateur :
This is how I built an analytic tool for Digital Products

v0.4

Il est difficile de comprendre les tendances avec seulement sept jours de données. Je prévois donc de continuer à collecter des données en pilote automatique et de les revoir après quelques semaines pour obtenir des informations plus approfondies.

Derniers mots

Je suis heureux de partager tout ce que j'ai utilisé pour créer ce produit. Ceci est ma petite contribution à la communauté #buildinpublic dont je fais partie.

Bonne chance dans vos projets !

N'hésitez pas à nous contacter si le sujet vous intéresse. Suivez-moi sur X

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!