<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: NM Thang</title>
    <description>The latest articles on DEV Community by NM Thang (@nmthangdn2000).</description>
    <link>https://dev.to/nmthangdn2000</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1037525%2F436e5dbb-d3fe-4b35-aead-798168a571cc.jpeg</url>
      <title>DEV Community: NM Thang</title>
      <link>https://dev.to/nmthangdn2000</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nmthangdn2000"/>
    <language>en</language>
    <item>
      <title>Generate cube image panorama</title>
      <dc:creator>NM Thang</dc:creator>
      <pubDate>Wed, 17 Jul 2024 04:41:19 +0000</pubDate>
      <link>https://dev.to/nmthangdn2000/cut-cube-image-panorama-3gmn</link>
      <guid>https://dev.to/nmthangdn2000/cut-cube-image-panorama-3gmn</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;In today's digital age, high-quality panorama images are becoming increasingly popular in fields like tourism, real estate, and interior design. However, the manual process of cropping cube panorama images can be time-consuming and prone to errors, which may affect the image quality when uploaded to the web. To address this challenge, an automatic cube panorama cropping tool is an optimal solution. This tool not only saves time but also ensures image optimization, leading to faster load times and a better user experience. In this blog post, we will explore how to use this tool to quickly and efficiently crop cube panorama images.&lt;/p&gt;

&lt;h1&gt;
  
  
  How to Install and Set Up the Tool
&lt;/h1&gt;

&lt;p&gt;In this section, I will provide a step-by-step guide on how to install and set up the automatic cubemap image cutting tool. This may include downloading the software, installing dependencies, and configuring the tool for optimal performance. Be sure to include screenshots or snippets of code to help illustrate the process.&lt;/p&gt;

&lt;p&gt;I also want to introduce that I am working on displaying tile panorama images using the photo-sphere-viewer.js library (&lt;a href="https://photo-sphere-viewer.js.org/guide/adapters/cubemap-tiles.html#panorama-options" rel="noopener noreferrer"&gt;https://photo-sphere-viewer.js.org/guide/adapters/cubemap-tiles.html#panorama-options&lt;/a&gt;).&lt;/p&gt;

&lt;h3&gt;
  
  
  Requirements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Before you begin, make sure you have installed &lt;a href="https://imagemagick.org/index.php" rel="noopener noreferrer"&gt;ImageMagick&lt;/a&gt;, a powerful tool for image processing.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nodejs.org/" rel="noopener noreferrer"&gt;Node&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Clone the Repository
&lt;/h3&gt;

&lt;p&gt;To get started, clone the repository to your machine by running the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;git clone https://github.com/nmthangdn2000/panorama-app.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;

&lt;p&gt;After cloning, you need to install the necessary dependencies. Just run the following command::&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;panorama-app
&lt;span class="nv"&gt;$ &lt;/span&gt;yarn
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will quickly set up your working environment.&lt;/p&gt;

&lt;h3&gt;
  
  
  Build the Project
&lt;/h3&gt;

&lt;p&gt;Build your project with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;yarn build
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Run the Project
&lt;/h3&gt;

&lt;p&gt;Start your project with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;yarn start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  How to Use the Tool
&lt;/h1&gt;

&lt;p&gt;In this section, I will guide you through the process of using the automatic cubemap image cutting tool. This includes uploading your panorama images, configuring the settings for optimal results, and viewing the final output.&lt;/p&gt;

&lt;h3&gt;
  
  
  The first step is to select the storage location for the entire project.
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv77nuznau041o72z91ym.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv77nuznau041o72z91ym.png" alt="Image description" width="800" height="209"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Create project
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcz24fxhg36pd7y2drh7o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcz24fxhg36pd7y2drh7o.png" alt="Image description" width="800" height="932"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Add image panorama
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fryco5kzgztr10ukfq0q7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fryco5kzgztr10ukfq0q7.png" alt="Image description" width="800" height="253"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The tool has the following features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Preview: Preview the panorama, select marker points, choose the initial view, and also has a function to create a mini map (this feature is not yet fully refined).&lt;/li&gt;
&lt;li&gt;Render: Choose the size of each tile image, then start cropping the panorama image and reformat the entire data structure.&lt;/li&gt;
&lt;li&gt;Export: Export all project data and compress it into a zip file.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;By following the steps outlined in this guide, you can efficiently use the automatic cubemap image cutting tool to process and display high-quality panorama images. The tool's features, including preview, render, and export functionalities, streamline the workflow, saving you time and ensuring optimal image quality for your projects. Whether you are working in tourism, real estate, interior design, or any other field that benefits from panoramic images, this tool will enhance your productivity and improve the user experience.&lt;/p&gt;

&lt;p&gt;Explore the possibilities and elevate your projects with this powerful and easy-to-use cubemap image cutting tool.&lt;/p&gt;

&lt;p&gt;You can find the complete project on &lt;a href="https://github.com/nmthangdn2000/panorama-app.git" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thank you for reading! If you found this tool helpful, please give the repository a star. 🌟&lt;/p&gt;

</description>
      <category>threejs</category>
      <category>panorama</category>
      <category>view360</category>
    </item>
    <item>
      <title>Setup typeorm in project structure monorepo nestjs</title>
      <dc:creator>NM Thang</dc:creator>
      <pubDate>Fri, 03 Mar 2023 03:42:49 +0000</pubDate>
      <link>https://dev.to/nmthangdn2000/setup-typeorm-in-project-structure-monorepo-nestjs-261f</link>
      <guid>https://dev.to/nmthangdn2000/setup-typeorm-in-project-structure-monorepo-nestjs-261f</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WzJ2hwI3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8umytn723oixzdhz5wpy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WzJ2hwI3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8umytn723oixzdhz5wpy.png" alt="Image description" width="880" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Starting from the initial steps of creating a &lt;strong&gt;&lt;a href="https://docs.nestjs.com/cli/monorepo#monorepo-mode"&gt;monorepo project structure in NestJS&lt;/a&gt;&lt;/strong&gt;, you need to install &lt;strong&gt;&lt;a href="https://orkhan.gitbook.io/typeorm/"&gt;TypeORM&lt;/a&gt;&lt;/strong&gt; and necessary dependencies to use it in your project.&lt;/p&gt;

&lt;p&gt;Next, you need to create the necessary directories and files to share code between packages in your project.&lt;/p&gt;

&lt;p&gt;Then, you can start configuring TypeORM to use it in your project. You can use &lt;a href="https://www.npmjs.com/package/commander"&gt;commander&lt;/a&gt; and &lt;a href="https://www.npmjs.com/package/inquirer"&gt;inquirer&lt;/a&gt; to create a command-line interface (CLI) similar to the NestJS CLI to perform migration-related commands in TypeORM.&lt;/p&gt;

&lt;p&gt;In this video, we will guide you on how to use commander and inquirer to create a CLI like NestJS, while configuring TypeORM to use it in your project. We will explain in detail how to use TypeORM to create migrations, create tables in the database, perform CRUD operations, and more.&lt;/p&gt;

&lt;p&gt;This video has no sound, so we will try to present all information clearly for you to understand.&lt;/p&gt;

&lt;p&gt;We hope this video will help you in configuring TypeORM and creating a CLI like NestJS for your project. If you have any questions or contributions, please leave a comment below.&lt;/p&gt;

&lt;p&gt;Thank you for watching our video!&lt;/p&gt;

&lt;p&gt;Part 1: &lt;a href="https://www.youtube.com/watch?v=XBBgWS8GnfM"&gt;https://www.youtube.com/watch?v=XBBgWS8GnfM&lt;/a&gt;&lt;br&gt;
Part 2: &lt;a href="https://www.youtube.com/watch?v=mMDcBqeipds"&gt;https://www.youtube.com/watch?v=mMDcBqeipds&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Github: &lt;a href="https://github.com/nmthangdn2000/demo-setup-typeorm-in-monorepo-nestjs"&gt;https://github.com/nmthangdn2000/demo-setup-typeorm-in-monorepo-nestjs&lt;/a&gt;&lt;/p&gt;

</description>
      <category>nestjs</category>
      <category>monorepo</category>
      <category>typeorm</category>
      <category>migration</category>
    </item>
  </channel>
</rss>
