<?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: softjapan</title>
    <description>The latest articles on DEV Community by softjapan (@softjapan).</description>
    <link>https://dev.to/softjapan</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%2F1801506%2Fccd16f92-b1fa-47f8-b4e1-939030051f6d.jpg</url>
      <title>DEV Community: softjapan</title>
      <link>https://dev.to/softjapan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/softjapan"/>
    <language>en</language>
    <item>
      <title>Set Up a Laravel Backend and Next.js Frontend Development Environment with Docker within 5 minutes</title>
      <dc:creator>softjapan</dc:creator>
      <pubDate>Sat, 04 Jan 2025 15:35:19 +0000</pubDate>
      <link>https://dev.to/softjapan/set-up-a-laravel-backend-and-nextjs-frontend-development-environment-with-docker-within-5-minutes-58ck</link>
      <guid>https://dev.to/softjapan/set-up-a-laravel-backend-and-nextjs-frontend-development-environment-with-docker-within-5-minutes-58ck</guid>
      <description>&lt;h1&gt;
  
  
  Set Up a Laravel Backend and Next.js Frontend Development Environment with Docker within 5 minutes
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://github.com/softjapan/laravel-nextjs-dev-environment" rel="noopener noreferrer"&gt;github&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This guide walks you through creating a Laravel backend and a Next.js frontend, all within a Dockerized environment. You can have everything up and running in just a few minutes.&lt;/p&gt;




&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Docker&lt;/strong&gt; and &lt;strong&gt;Docker Compose&lt;/strong&gt; installed on your system
&lt;/li&gt;
&lt;li&gt;Basic knowledge of &lt;strong&gt;Laravel&lt;/strong&gt; and &lt;strong&gt;Next.js&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  - Basic knowledge of command-line usage
&lt;/h2&gt;

&lt;h2&gt;
  
  
  1. Clone the Repository
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/softjapan/laravel-nextjs-dev-environment.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  2. Create the Laravel Backend
&lt;/h2&gt;

&lt;p&gt;By default, this setup uses MySQL. We will skip running migrations at this point and do them later. Other options use default settings.&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="nb"&gt;cd &lt;/span&gt;laravel-nextjs-dev-environment
docker run &lt;span class="nt"&gt;--rm&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; &lt;span class="nt"&gt;-v&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;&lt;span class="s2"&gt;:/app"&lt;/span&gt; softjpn/laravel-nodejs-dev laravel new laravel-backend
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  3. Install Laravel Breeze and Dependencies
&lt;/h2&gt;

&lt;p&gt;We will install Laravel Breeze (API scaffolding) without running migrations at this stage. Migrations will be run later after configuring the &lt;code&gt;.env&lt;/code&gt; file and starting the Docker containers.&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="nb"&gt;cd &lt;/span&gt;laravel-backend
docker run &lt;span class="nt"&gt;--rm&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; &lt;span class="nt"&gt;-v&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;&lt;span class="s2"&gt;:/app"&lt;/span&gt; softjpn/laravel-nodejs-dev composer require laravel/breeze &lt;span class="nt"&gt;--dev&lt;/span&gt;
docker run &lt;span class="nt"&gt;--rm&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; &lt;span class="nt"&gt;-v&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;&lt;span class="s2"&gt;:/app"&lt;/span&gt; softjpn/laravel-nodejs-dev php artisan breeze:install api
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  4. Create the Next.js Frontend
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ..
docker run &lt;span class="nt"&gt;--rm&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; &lt;span class="nt"&gt;-v&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;&lt;span class="s2"&gt;:/app"&lt;/span&gt; softjpn/laravel-nodejs-dev git clone https://github.com/laravel/breeze-next.git next-frontend
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  5. Install Frontend Dependencies
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;next-frontend
docker run &lt;span class="nt"&gt;--rm&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; &lt;span class="nt"&gt;-v&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;&lt;span class="s2"&gt;:/app"&lt;/span&gt; softjpn/laravel-nodejs-dev npm &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  6. Create the Environment Files
&lt;/h2&gt;

&lt;p&gt;These files contain database connection details and other environment variables.&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="nb"&gt;cd&lt;/span&gt; ..
&lt;span class="nb"&gt;cp&lt;/span&gt; ./envfiles/laravel-backend/.env ./laravel-backend/.env
&lt;span class="nb"&gt;cp&lt;/span&gt; ./envfiles/next-frontend/.env ./next-frontend/.env
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  7. Start the Docker Containers
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker compose up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  8. Run Database Migrations
&lt;/h2&gt;

&lt;p&gt;Once the containers are running and your &lt;code&gt;.env&lt;/code&gt; files are in place, apply the migrations:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker &lt;span class="nb"&gt;exec&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; laravel-backend php artisan migrate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  9. Access the Frontend
&lt;/h2&gt;

&lt;p&gt;Open your browser and navigate to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://localhost:3000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  10. Stop the Docker Containers
&lt;/h2&gt;

&lt;p&gt;When you’re done, shut down the containers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker compose down
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Screenshot
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhz1ntskgeqkhzw3jgypa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhz1ntskgeqkhzw3jgypa.png" alt="screenshot" width="800" height="598"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  License
&lt;/h2&gt;

&lt;p&gt;This project is open source and available under the &lt;a href="https://dev.toLICENSE"&gt;MIT License&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Contributing
&lt;/h2&gt;

&lt;p&gt;Contributions are welcome! Feel free to open a pull request with improvements or suggestions.&lt;/p&gt;




&lt;h2&gt;
  
  
  Contact
&lt;/h2&gt;

&lt;p&gt;For questions or additional support, please open an issue in this repository.&lt;/p&gt;




&lt;p&gt;Enjoy your streamlined Laravel + Next.js development setup!&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>nextjs</category>
    </item>
    <item>
      <title>ChatGPT Client with LINE-Style UI Built with Flutter and Riverpod</title>
      <dc:creator>softjapan</dc:creator>
      <pubDate>Wed, 01 Jan 2025 03:00:28 +0000</pubDate>
      <link>https://dev.to/softjapan/chatgpt-client-with-line-style-ui-built-with-flutter-and-riverpod-2hei</link>
      <guid>https://dev.to/softjapan/chatgpt-client-with-line-style-ui-built-with-flutter-and-riverpod-2hei</guid>
      <description>&lt;h2&gt;
  
  
  ChatGPT Client with LINE-Style UI Built with Flutter and Riverpod
&lt;/h2&gt;

&lt;p&gt;This is a ChatGPT client application developed with Flutter and Riverpod, featuring a LINE-inspired chat UI.&lt;br&gt;&lt;br&gt;
It provides real-time, bidirectional communication by integrating with OpenAI’s GPT models.&lt;/p&gt;




&lt;h3&gt;
  
  
  Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;LINE-Style Chat UI&lt;/strong&gt;
A simple, intuitive design that offers a streamlined user experience&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-Time Chat with OpenAI GPT Model&lt;/strong&gt;
Utilizes the ChatGPT API to enable natural, human-like conversations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;State Management with Riverpod&lt;/strong&gt;
Improves scalability and maintainability by separating application logic from the UI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Responsive Design&lt;/strong&gt;
Adapts seamlessly to various screen sizes, from smartphones to larger devices&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Screenshots
&lt;/h3&gt;

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




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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Flutter&lt;/strong&gt; 3.19.x or higher&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dart&lt;/strong&gt; 3.3.x or higher&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OpenAI API Key&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Setup
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Clone the repository&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   git clone https://github.com/softjapan/flutter_chatgpt.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install dependencies&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   flutter pub get
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Configure environment variables&lt;/strong&gt;
Create a &lt;code&gt;.env&lt;/code&gt; file in the project’s root directory and add the following:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   endpoint='https://api.openai.com/v1/'
   model='gpt-4-turbo-preview'
   aiToken='your-api-key-here'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Run the application&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   flutter run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Technologies Used
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://flutter.dev/" rel="noopener noreferrer"&gt;Flutter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://riverpod.dev/" rel="noopener noreferrer"&gt;Riverpod&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://platform.openai.com/" rel="noopener noreferrer"&gt;OpenAI API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pub.dev/packages/freezed" rel="noopener noreferrer"&gt;Freezed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pub.dev/packages/flutter_dotenv" rel="noopener noreferrer"&gt;flutter_dotenv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  License
&lt;/h3&gt;

&lt;p&gt;This project is released under the &lt;a href="//./LICENSE"&gt;MIT License&lt;/a&gt;. Please see the &lt;a href="//./LICENSE"&gt;LICENSE&lt;/a&gt; file for details.&lt;/p&gt;




&lt;h3&gt;
  
  
  How to Contribute
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Fork&lt;/strong&gt; this repository&lt;/li&gt;
&lt;li&gt;Create a new feature branch
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   git checkout &lt;span class="nt"&gt;-b&lt;/span&gt; feature/amazing-feature
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Commit your changes
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s1"&gt;'Add some amazing feature'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Push the branch to the remote repository
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   git push origin feature/amazing-feature
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Create a &lt;strong&gt;Pull Request&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  Author
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Twitter&lt;/strong&gt;: &lt;a href="https://twitter.com/softbasejp" rel="noopener noreferrer"&gt;FullStack@ITエンジニア&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GitHub Repository: &lt;a href="https://github.com/softjapan/flutter_chatgpt" rel="noopener noreferrer"&gt;https://github.com/softjapan/flutter_chatgpt&lt;/a&gt;&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>riverpod</category>
      <category>chatgpt</category>
      <category>openai</category>
    </item>
  </channel>
</rss>
