Bienvenue dans notre prochain Let's Build ! Cette version introduit un géant des médias sociaux bien connu, Twitter, comme source d'inspiration pour le projet. Nous allons créer une sorte de contrefaçon appelée twittter .
Cette application démontrera notamment un système de rôles d'utilisateur donnant à votre application Web et à votre application navtive l'impression d'être entièrement dans le navigateur. J'irai un peu plus vite que la version précédente, car il s'agissait plutôt d'un exercice de base dans lequel j'expliquais les concepts communs autour de l'écosystème Ruby on Rails. Nous utiliserons des générateurs Rails pour aider à étayer certaines des choses que j'ai déjà couvertes. Si vous n'avez pas regardé le premier Let's Build, je vous invite à le faire afin de comprendre ce que nous faisons.
Téléchargez le code source
L'application elle-même comportera un principe de base CRUD où nous pouvons créer, lire, mettre à jour et détruire des Tweeets . Essentiellement, c'est la même chose que ma version précédente dans laquelle nous créions des articles pour un blog. En plus des Tweeets , j'introduis un nouveau joyau appelé Devise qui facilite la création d'un rôle d'utilisateur complet et d'un système d'authentification. Combiné avec ce joyau, nous pouvons authentifier les utilisateurs qui souhaitent créer des tweets . Les Tweets d'un utilisateur sont alors également liés à son compte. Le résultat final est un site public avec un flux de tweets de différents utilisateurs. Les utilisateurs disposant d'un compte peuvent se connecter pour créer leurs propres tweets à ajouter au flux public.
Twitter est une application assez élaborée. Je ne couvrirai pas les réponses, les retweets, les likes et quelques autres fonctionnalités fondamentales du célèbre géant des médias sociaux. Au lieu de cela, je vous invite à bricoler comment ajouter éventuellement ces fonctionnalités. Semblable au blog avec commentaires que j'ai créé, voyez si vous pouvez comprendre comment ajouter vous-même des réponses à l'application. (Conseil : c'est la même chose que d'ajouter des commentaires au billet de blog comme je l'ai fait dans la version précédente ;) ). Je pourrais revoir cette application pour ajouter plus de fonctionnalités dans le cadre d'un autre exercice, mais à vrai dire, j'ai manqué de temps ! Faites-moi savoir si vous souhaitez que je prolonge cela davantage.
Il existe également quelques joyaux dans la nature pour « aimer » les publications. Voici un de mes préférés
Remarque : Une grosse erreur que j'ai remarquée après l'avoir arrêté sur cette version était que tout utilisateur connecté pouvait modifier les tweets de n'importe quel autre utilisateur. Il s'agit d'une faille de sécurité majeure, car les capacités d'un utilisateur ne doivent résider que dans son propre compte. Voyez si vous pouvez trouver un moyen d'autoriser uniquement l'utilisateur actuellement connecté à modifier ses propres tweets et non les autres utilisateurs. Je pourrais revoir cette série pour étendre et aborder ces problèmes.
De meilleures erreurs - Pour de meilleures erreurs
Bulma - pour un CSS facile. N'hésitez pas à créer vos propres styles et/ou à utiliser un framework différent.
Guard - Utile pour recharger en direct nos fichiers scss
, js
, css
et erb
, bien qu'il soit capable de bien plus !
Guard est requis pour que la gemme Guard LiveReload fonctionne
Garde LiveReload
Formulaire simple – Pour des formulaires simples !
Devise - Rôles d'utilisateur et authentification sans effort
Gravatar_image_tag - Balise d'image intégrée qui crache des gravatars.
Continuer la lecture sur web-crunch.com