strapi / community-content

Contribute and collaborate on educational content for the Strapi Community
https://strapi.io/write-for-the-community
571 stars 400 forks source link

[SUBMIT] How to Build a "app" using Strapi, Socket.io #435

Closed restoker closed 3 years ago

restoker commented 3 years ago

My Request

please, i try to connect = strapi + socket.io, but I don't have much documentation on the subject

Community vote 👍 Upvote if you like this topic 🚀 If you can make the article/video!

Thank you.

ShadaW11 commented 3 years ago

Hey @restoker, thank you for posting, you can you can join our discord channel or publish your request on our community forum for direct support. I will also open this issue for a tutorial around this subject.

dillionmegida commented 3 years ago

Hi @ShadaW11 @malgamves I'd love to take on this. I'm a new author on Strapi, and I just signed up.

My top two articles are:

You can find more of my works on my personal website, LogRocket and FreeCodeCamp

I'd also want to confirm what kind of "app" we're looking at here. A chat app? A real-time application (like an e-commerce dashboard)?

Please let me know, so I could draft an outline.

ShadaW11 commented 3 years ago

Hey @dillionmegida apologies for the delay. Awesome content. Would love to have you writing an article for Strapi. We have no restriction on the nature of app but I would suggest ecommerce. I look forward to receiving the outline. Again please accept my apologies. As we are looking forward to release the v4 in the next couple weeks, we are taking less tutorials that we expect to become outdated after the release. Hence the delay. Have an awesome day.

dillionmegida commented 3 years ago

Thank you @ShadaW11 I'll draft an outline for this before 10th August.

ShadaW11 commented 3 years ago

@dillionmegida awesome thank you

dillionmegida commented 3 years ago

Hi @ShadaW11

Here's an outline I have for this:

Title: How to build an E-commerce application using React, MongoDB, Strapi and Socket.io

Introduction

E-commerce applications serve as platforms where people can sell products, and people can also buy products. It also involves many other features such as adding to cart, adding to favorites, adding reviews and many more. All of this require a lot of modelling, relationships and connections on the backend. Strapi does all of the heavy-lifting. And socket.io on the other hand, makes the client-server communication more interactive.

Quick Summary

In this tutorial, we will go through the process of building an interactive E-commerce applications with Socket.io serving as the two way communication between the client and server and Strapi for building the backend with all requirements seamlessly. The two way communication here means that the client can send requests to the server, and the server can emit responses to the client even without the client requesting for it.

Goal

At the end of the article, readers will learn how Strapi makes developing backend environments easier and how Socket.io enables real-time communication between the client and the server.

Outline

1. Brief overview of Strapi

In this section, I'd explain a brief introduction to Strapi--what it is, how it works, it's purpose and other beneficial information about the platform

2. Brief overview of Socket.io

Here, I'd explain what Socket.io is, why it's useful, and some pros and some cons

3. The e-commerce application we're building

Here, I'll highlight the features of the application:

In this section, I'd also explain in a pseudocode way, what Strapi would do, what Socket.io would and what the frontend app would do to achieve each feature, and then show the code for achieving it. I'd also test it, and provide screenshots

4. Conclusion

Here, I'd share a brief summary of what we've achieved in the tutorial. And I'll explain how Strapi can be used in real world applications. And lastly, I'll share some useful resources for continued reading.

ShadaW11 commented 3 years ago

Hello @dillionmegida Love the outline, will it include a payment integration? As we move closer and closer to the V4 release date - in a few weeks. I would suggest either postponing your article until after the v4 is released to avoid having your tutorial becoming outdated. Or you can go ahead and work on the tutorial and commit to updating the article after the v4 is released. Unfortunately we cannot anticipate how much effort it will take to update your tutorial after the release. We currently compensate all writers who write tutorials for us. However the update to articles after v4 is not compensated. Therefore, I leave the choice to you, Either you go ahead and start working on it and commit to updating it. Or you postpone the tutorial until end of September. If you decide to move ahead and write the article, please join our authors by filling the form here Then, scroll to the FAQ section to read our article guidelines, how to submit your article, invoice and get paid. Thank you again for the outline.

dillionmegida commented 3 years ago

Hi @ShadaW11 I'm glad you liked the outline.

Regarding the payment integration, I believe that may require an entirely different article, and it may not really fit into the scope of this article.

And regarding postponing the article, well I'd love to start now, and have your reviews/feedback and I can update also if necessary.

I've filled the form already. So I'd get started :)

ShadaW11 commented 3 years ago

Hello @dillionmegida Great, please go ahead and start if you can commit to updating the article after the V4 release. Also keep me updated on the additional features, you will add. As mentioned earlier, we have certain guidelines within our FAQ, please go over them prior to writing your article. You can also find a section to submit your article once done, and issue an invoice. Im here if you have any questions. Please let me know when do you expect the article to be ready?

dillionmegida commented 3 years ago

Hi @ShadaW11 sorry for getting back to you late

The article would be ready on 6th September. I'd re-check the guidelines and begin making up the draft. I'd let you know of any questions along the way. Thank you.

ShadaW11 commented 3 years ago

Hey @dillionmegida awesome, happy to hear that. Please do reach out if you have any questions. Thanks and Im looking forward to receiving your article.

dillionmegida commented 3 years ago

Hi @ShadaW11 I'm sorry, I saved the wrong delivery date on my calendar and just realized today that I told you 6th September (yesterday),

I'm done with the app, and now I'm currently making up the draft as I'm building the app from scratch again. I'll get this done before/on 10th September. I apologize for the delay in updating you.

ShadaW11 commented 3 years ago

Hello @dillionmegida No worries, I will be awaiting your article on the 10th of august. Thank you.

dillionmegida commented 3 years ago

Hi @ShadaW11

Here's the draft: https://www.dropbox.com/scl/fi/hpjpmzq8d5evx5w5dfri4/How-to-build-an-E-commerce-application-using-React-MongoDB-Strapi-and-Socket.io.paper?dl=0&rlkey=9don0guvc2qxnx60eb16h6gvw

Looking forward to your review 🙂

MattieBelt commented 3 years ago

Hey @dillionmegida and @ShadaW11,

Awesome you spending some time on writing for the community 🙌🏼

I saw this article uses mongoDB, I was asking myself if it at this moment it still was a good idea to publish new articles using MongoDB, with the announced delayed compatibility for Mongo.

Great, please go ahead and start if you can commit to updating the article after the V4 release.

So updating this article to the V4 standard can take a long time 😉

Let me know how you think about this.

dillionmegida commented 3 years ago

Hi @MattieBelt

Thanks for the feedback.

I just went through the shared link. In this tutorial, the use of mongodb is very minimal. I didn't use mongoose. MongoDB is only serving as where data is stored, so I don't think updating would take a long time.

If this is the only prone-to-be-outdated factor, I could consider removing it now, and opting for an SQL-solution, or removing it when V4 is finally released. Any of them works.

But if there may be other factors, I'd love to remove it after the release so I can address all the factors at once.

ShadaW11 commented 3 years ago

Thank you @MattieBelt for bringing my attention to this. @dillionmegida I went over the draft real quick and I agree that updating it should not take a long time. Therefore, I would suggest working on the edits after the V4 release. We will review the article this week and hopefully publish it asap.

ShadaW11 commented 3 years ago

Hello @dillionmegida your article is published, please check our FAQ to issue and send an invoice. Looking forward to your second article.

dillionmegida commented 3 years ago

Thank you @ShadaW11 :)

dillionmegida commented 2 years ago

Hi @ShadaW11 can I change this from Mongo to something else now?

ShadaW11 commented 2 years ago

@dillionmegida apologies, I didnt understand.

dillionmegida commented 2 years ago

@ShadaW11 you know the db used here was MongoDB? In regards to our earlier agreement, I was asking if I could take on updating the article to use a different DB