strapi / community-content

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

Building an Inventory Management System for a Construction Equipment rental Company with Strapi, React-Hook forms and Next.js #1457

Open vector-10 opened 1 month ago

vector-10 commented 1 month ago

What is your article idea?

Building an Inventory Management System for a Construction Equipment Rental Company with Strapi and Next.js Socket.IO, Mapbox, and Algolia

Part 1: Introduction and Project Setup Introduction

Project Overview:

Technology Stack:

Project Setup Development Environment: Installing Node.js and npm. Strapi Setup:

Next.js Setup:

Connecting Strapi and Next.js:

Part 2: Building the Backend with Strapi and Integrating Advanced Features

Creating Content Types in Strapi Defining Data Structures:

Configuring Relationships

Admin Panel Enhancements:

Socket.IO Integration:

Mapbox Integration:

Part 3: Building the Frontend with Next.js and Enhancing the User Experience Fetching Data from Strapi

Data Fetching Methods:

Dynamic Routing:

Tailwind CSS Integration:

Creating Equipment Entries:

Updating Entries:

Deleting Entries:

Search and Filtering with Algolia:

Geolocation with Mapbox:

Real-time Data Updates:

Pagination:

Authentication Setup:

Deploying to Strapi Cloud:

Deploying Frontend to Vercel:

Monitoring and Maintenance:

What are the objectives of your article?

This blog series will guide developers both new and old through the process of building an Inventory management system for a construction equipment rental company the knowledge which can be applied in any real-life inventory use case. I focuses on highlighting the benefits of using Strapi and its content management features in building production applications. Also adding cool technologies like Algolia search, socket.io for real-time data etc. Each part will covers an essential part of development up to deployment on Strapi cloud and Vercel for Next.js.

What is your expertise as a developer or writer?

Advance

What type of post is this?

Tutorial

Terms & Conditions

vector-10 commented 1 month ago

Hi @Theodore-Kelechukwu-Onyejiaku. Take a look at my outline for a Blog series I am proposing in 6 parts. I am open to adjustments and suggestions and will be expecting your feedback.

Thank you!!

Theodore-Kelechukwu-Onyejiaku commented 3 weeks ago

This looks good @vector-10 .

Can we also add some cool technologies to this application. React-hook is kind of very common. Perhaps, Chart.js, Real time with Strapi socket.io plugin, etc.

Please let me know what you think so we can update the title. Thank you!

vector-10 commented 3 weeks ago

Hi @Theodore-Kelechukwu-Onyejiaku. Yes we can add cool technologies and update the title, real time with Strapi socket.io plugin and chart.js for inventory statistics and more. I can work with that. Do you have any specific title in mind or should i rephrase it myself?

Theodore-Kelechukwu-Onyejiaku commented 3 weeks ago

Hi @vector-10,

Thanks. I actually want you to include any other technologies. It doesn't necessarily have to be the ones I have mentioned. For example, you can add Algolia Search or any other interesting Technology asides Reach-Hook forms. That way, we can derive a new title.

Concerning the part series, we could have the parts you listed above crammed into 2-3 blog series.

Please let me know what you think. Thank you!

vector-10 commented 3 weeks ago

Hi @Theodore-Kelechukwu-Onyejiaku. Good day, I understand you now and have taken the lliberty to edit the outline with new technologies for features. I also agreed and reduced the series to a 3 part one, I hope this will be standard enough. Thank you

Theodore-Kelechukwu-Onyejiaku commented 2 weeks ago

Hi @vector-10 ,

Thanks for your response and you willingness to use other technologies 💪. Please it would be great you list out the new suggestions instead of modifying an old one.

If we are on the same page, you are using the following technologies in the inventory management system:

  1. Mapbox
  2. Next.js
  3. Zod
  4. Socket.io
  5. and Algolia.

Please proceed! Thank you!

I would also love that you include chart.js 😅. I believe that would also be a great way to display the current products in the inventory, the used ones, total products, etc.

Keep me posted. If you have any challenges don't forget to hit me up 💪

Thank you!

vector-10 commented 2 weeks ago

Thank you @Theodore-Kelechukwu-Onyejiaku. I will begin right away!!

Theodore-Kelechukwu-Onyejiaku commented 1 week ago

Thank you!

vector-10 commented 5 days ago

Hi @Theodore-Kelechukwu-Onyejiaku,

I completed my draft for the first part of my blog series here https://hackmd.io/@sqQHs9f3Tjq3Lpw2h9sPKQ/B1B8U3vUR/edit I also had difficulties adding two GIFs for proper demonstrations in the article with HackMD, I would appreciate instructions to achieve that.

Thank you

Theodore-Kelechukwu-Onyejiaku commented 4 days ago

Hi @vector-10 ,

Thank you! Could you please provide me an edit access to the draft?

vector-10 commented 4 days ago

Good evening @Theodore-Kelechukwu-Onyejiaku, I have granted you edit access to the draft.

Theodore-Kelechukwu-Onyejiaku commented 1 day ago

Hi @vector-10 ,

Your article looks good, but lacks the following to fit in to the 2-3 blog series we agreed upon.

How about we make it like this:

However, we can make it better:

  1. For part 1: We cover the parts where zod and mapbox is required.
  2. For part 2: We utilize the power of socket.io using a plugin from the Strapi market place.
  3. For part 3: We implement Algolia.

What do you think?

vector-10 commented 1 day ago

Good evening, @Theodore-Kelechukwu-Onyejiaku. I just read through and I will follow your suggestions. I had initially planed to make part 1 introductory but dive in later. Now I will make it work and send the draft as soon as possible.

I also mentioned I had trouble with displaying demos in form of GIFs on the HackMD editor, else I had recorded demos video. i will try again to embedd it in the draft.

Thank you.