Aller au contenu

linkshare : Une application Rails de partage de liens

linkshare est un projet Rails archivé pour publier des liens, commenter et voter. Ses routes décrivent une application web classique avec gestion des comptes et interface administrative.

Application et services Archivé
  • Mis à jour
  • 2
  • Ruby · 55.29%
Langages du dépôtRuby 55.29%5

Parts calculées à partir des octets GitHub Linguist.

Langage%Octets
Ruby55.29%74 011
HTML19.55%26 174
CSS13.28%17 773
JavaScript11.56%15 470
CoffeeScript0.32%422

GitHub · README · Statistiques de langages

Aperçu

Pourquoi il existe

Plateforme Ruby on Rails avec extraction asynchrone de métadonnées OpenGraph.

Cas d’usage

Partage social et organisation de liens avec prévisualisation riche.

Démarrage

Ces commandes viennent de la documentation du dépôt. Elles n’ont pas été exécutées pendant cette revue.

Références du dépôt

Extraits des guides du dépôt, dans leur langue d’origine. Les liens ouvrent la version du code consultée.

Développement et contributions

Testing

README.md

$ bash –login -c rvm use 2.2>/dev/null 2>&1; rails server -p 8080 -b 0.0.0.0 $ redis-server made with cloud9 IDE
Lire les instructions complètes ↗
Documentation source

1 documents lus parmi 1 candidats.

Fonctions et composants 2

Ressources et actions
config/routes.rb associe les liens aux actions de ressources et y imbrique les commentaires. Les routes like et dislike appellent upvote et downvote. La page racine utilise links#index.
Comptes et administration
Devise fournit les routes de compte et RailsAdmin est monté sous /admin. Les contrôleurs et modèles sont distincts des routes; déclarer une route ne décrit pas toutes ses autorisations ou sa persistance.

Architecture

Les composants et leurs liens restent lisibles en texte. Le diagramme ajoute une vue interactive.

Contexte système Contexte
  1. Requête du navigateur
  2. Routeur Rails
  3. Contrôleurs liens et commentaires
  4. Modèles et persistance
  5. Réponse affichée

Liens vérifiés dans le dépôt.

Mermaid Diagramme interactif (chargement à l’ouverture)

Vue générale des composants et des échanges vérifiés dans le dépôt.

Vue statique de l’architecture de linkshare
Aperçu statique. Le diagramme interactif le remplace après le chargement de Mermaid.
flowchart LR
  n0["Requête du navigateur"]
  n1["Routeur Rails"]
  n2["Contrôleurs liens et commentaires"]
  n3["Modèles et persistance"]
  n4["Réponse affichée"]
  n0 --> n1
  n1 --> n2
  n2 --> n3
  n2 --> n4
Version texte du diagramme
  • Requête du navigateur → Routeur Rails
  • Routeur Rails → Contrôleurs liens et commentaires
  • Contrôleurs liens et commentaires → Modèles et persistance
  • Contrôleurs liens et commentaires → Réponse affichée
Suivre un parcours dans le code

Suivez PUT /links/:id/like jusqu’à upvote, puis à l’opération du modèle. Cela distingue l’action HTTP, l’identité et le vote conservé.

Types et structure des fichiers

26 types déclarés, dont 12 dans l’aperçu des relations de base.

Diagramme des types
classDiagram
direction TB
class te6c01275de47["ApplicationController"] {
  configure_permitted_parameters()
}
class t8678c70aa713["CommentsController"] {
  create()
  destroy()
  set_comment()
  comment_params()
}
class tb0660d882e74["LinksController"] {
  index()
  authorized_user()
  show()
  new()
}
class te74c95b27ab9["UsersController"] {
  index()
  show()
  set_user()
  user_params()
}
class t507ea3b434b7["Comment"] {
}
class teaffcf98c1af["Link"] {
  search()
}
class t3d8e51a5861b["User"] {
  search()
}
class t365c5f73a845["AvatarUploader"] {
  store_dir()
  extension_white_list()
}
class t02b326265c03["FileUploader"] {
  store_dir()
  to_jq_upload()
}
class t1b987a5d8a58["Application"] {
}
class t8a2d1d5f3397["CreateLinks"] {
  change()
}
class t413ee87dca90["DeviseCreateUsers"] {
  change()
}
class b597d79078b7c["ActionController"] {
  <<unresolved_base>>
}
te6c01275de47 ..> b597d79078b7c : declared base
class bf963db62dcd9["Base"] {
  <<unresolved_base>>
}
te6c01275de47 ..> bf963db62dcd9 : declared base
class b5537154b21ce["ApplicationController"] {
  <<unresolved_base>>
}
t8678c70aa713 ..> b5537154b21ce : declared base
class b06d39a03faa5["ApplicationController"] {
  <<unresolved_base>>
}
tb0660d882e74 ..> b06d39a03faa5 : declared base
class bf0d517ccfe97["ApplicationController"] {
  <<unresolved_base>>
}
te74c95b27ab9 ..> bf0d517ccfe97 : declared base
class b4387f5fdab61["ActiveRecord"] {
  <<unresolved_base>>
}
t507ea3b434b7 ..> b4387f5fdab61 : declared base
class bf1ccf4a6fae5["Base"] {
  <<unresolved_base>>
}
t507ea3b434b7 ..> bf1ccf4a6fae5 : declared base
class b7aff22b225bf["ActiveRecord"] {
  <<unresolved_base>>
}
teaffcf98c1af ..> b7aff22b225bf : declared base
class baa51e6c4d3ac["Base"] {
  <<unresolved_base>>
}
teaffcf98c1af ..> baa51e6c4d3ac : declared base
class b8ebb2ba28373["ActiveRecord"] {
  <<unresolved_base>>
}
t3d8e51a5861b ..> b8ebb2ba28373 : declared base
class bd2eb40535edb["Base"] {
  <<unresolved_base>>
}
t3d8e51a5861b ..> bd2eb40535edb : declared base
class bdfe6f931ddc7["CarrierWave"] {
  <<unresolved_base>>
}
t365c5f73a845 ..> bdfe6f931ddc7 : declared base
class b58373087e72b["Uploader"] {
  <<unresolved_base>>
}
t365c5f73a845 ..> b58373087e72b : declared base
class bdcc7e7756ad6["Base"] {
  <<unresolved_base>>
}
t365c5f73a845 ..> bdcc7e7756ad6 : declared base
class b14b22903d121["CarrierWave"] {
  <<unresolved_base>>
}
t02b326265c03 ..> b14b22903d121 : declared base
class b2e18ae1a52e7["Uploader"] {
  <<unresolved_base>>
}
t02b326265c03 ..> b2e18ae1a52e7 : declared base
class bf7a34fbf068a["Base"] {
  <<unresolved_base>>
}
t02b326265c03 ..> bf7a34fbf068a : declared base
class b656be7aa4ef3["Rails"] {
  <<unresolved_base>>
}
t1b987a5d8a58 ..> b656be7aa4ef3 : declared base
t1b987a5d8a58 <|-- t1b987a5d8a58
class bbdad3cd73cb5["ActiveRecord"] {
  <<unresolved_base>>
}
t8a2d1d5f3397 ..> bbdad3cd73cb5 : declared base
class b3cbff79e4244["Migration"] {
  <<unresolved_base>>
}
t8a2d1d5f3397 ..> b3cbff79e4244 : declared base
class bf941026e7405["ActiveRecord"] {
  <<unresolved_base>>
}
t413ee87dca90 ..> bf941026e7405 : declared base
class b35ea4c6d3585["Migration"] {
  <<unresolved_base>>
}
t413ee87dca90 ..> b35ea4c6d3585 : declared base

Les bases non résolues restent identifiées; les signatures complètes ne sont pas reconstruites.

Index des types

Référence

58 / 58 fichiers admissibles lus (171 dans l’arbre); 0 trop volumineux, 0 échec de lecture et 0 diagnostic de syntaxe.

Ce que couvre l’analyse

Les dossiers connus de dépendances et de compilation, les fichiers d’identifiants et les binaires sont exclus. La collecte couvre les README, les manifestes reconnus et les fichiers source pris en charge.

Les statistiques Linguist couvrent l’ensemble du dépôt et peuvent inclure d’autres langages.

Carte des fichiers
flowchart TD
  root["linkshare"]
  f0["Gemfile"]
  root --> f0
  f1["README.md"]
  root --> f1
  f2["config/routes.rb"]
  root --> f2
  f3["config/application.rb"]
  root --> f3
  f4["config/boot.rb"]
  root --> f4
  f5["config/environment.rb"]
  root --> f5
  f6["db/schema.rb"]
  root --> f6
  f7["db/seeds.rb"]
  root --> f7
  f8["test/test_helper.rb"]
  root --> f8
  f9["app/controllers/application_controller.rb"]
  root --> f9
  f10["app/controllers/comments_controller.rb"]
  root --> f10
  f11["app/controllers/links_controller.rb"]
  root --> f11
  f12["app/controllers/users_controller.rb"]
  root --> f12
  f13["app/helpers/application_helper.rb"]
  root --> f13
  f14["app/helpers/comments_helper.rb"]
  root --> f14
  f15["app/helpers/links_helper.rb"]
  root --> f15

Fichiers à lire 3

Références