<?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: Fola</title>
    <description>The latest articles on DEV Community by Fola (@ayoaduwo).</description>
    <link>https://dev.to/ayoaduwo</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%2F464275%2F8eddd0f6-18a3-4e1e-aafd-3e1c1b335fab.jpg</url>
      <title>DEV Community: Fola</title>
      <link>https://dev.to/ayoaduwo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ayoaduwo"/>
    <language>en</language>
    <item>
      <title>A Simple Job Application Tracker Built with React, Vite, and Nylas named ReeLug</title>
      <dc:creator>Fola</dc:creator>
      <pubDate>Mon, 02 Sep 2024 04:06:00 +0000</pubDate>
      <link>https://dev.to/ayoaduwo/a-simple-job-application-tracker-built-with-react-vite-and-nylas-named-reelug-k40</link>
      <guid>https://dev.to/ayoaduwo/a-simple-job-application-tracker-built-with-react-vite-and-nylas-named-reelug-k40</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/nylas"&gt;Nylas Challenge&lt;/a&gt;: Galaxy Brain.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built and Why
&lt;/h2&gt;

&lt;p&gt;I built ReeLug, a simple yet effective job application tracking website designed to help users manage their job applications efficiently. The app provides essential features like sending emails, adding contacts, checking recent emails from applied jobs, and creating meeting or interview reminders. The motivation behind building this project was to create a straightforward tool that can streamline the job-hunting process, making it easier to keep track of job applications and related activities.&lt;/p&gt;

&lt;p&gt;Job hunting can be overwhelming, especially when applying to multiple jobs across various platforms. Keeping track of applications, following up with emails, and setting up interviews can easily become a cumbersome task. With ReeLug, users can manage all these activities in one place, reducing the stress associated with the job application process and increasing productivity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;Here is a brief video overview of the ReeLug project, showcasing its key features and functionalities:&lt;br&gt;
&lt;a href="https://drive.google.com/file/d/1xK5YQWnfuTkYpaG9XWGdEcmL0J-myPGf/view?usp=sharing" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/1xK5YQWnfuTkYpaG9XWGdEcmL0J-myPGf/view?usp=sharing&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;The entire codebase for ReeLug is available on GitHub. You can check out the repository to explore the code, understand the structure, and see how different features were implemented. The project is licensed under the MIT license, ensuring it is open for community contributions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Aduwoayooluwa/reelug" rel="noopener noreferrer"&gt;Github Repo Link&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Your Journey
&lt;/h2&gt;

&lt;p&gt;While building ReeLug, I leveraged the powerful capabilities of Nylas to integrate email management, calendar scheduling, and contact management features into the app. Nylas' APIs provided a robust foundation for handling emails and scheduling, which was essential for creating a seamless experience for users looking to manage their job applications.&lt;/p&gt;

&lt;p&gt;However, the journey wasn't without its challenges. I found Nylas to be somewhat rigid in terms of its API request handling. As a developer, I often had specific ideas about how I wanted to save data or schedule events, but I encountered limitations because the Nylas API only accepted certain types or formats of request bodies. This restriction made it difficult to customize or adjust features based on the unique requirements of the application.&lt;/p&gt;

&lt;p&gt;Despite this, I am proud of how ReeLug turned out. The project taught me valuable lessons about working with third-party APIs and the importance of balancing functionality with usability. By creatively working around the constraints, I was able to deliver a functional, user-friendly job application tracking app that meets the needs of job seekers.&lt;/p&gt;

&lt;p&gt;ReeLug is built with React and Vite, leveraging modern web technologies to create a fast and responsive user interface. The integration with Nylas ensures that users can easily manage emails, contacts, and meetings all within a single platform, making job application management as smooth as possible.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features of ReeLug:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Add Contacts&lt;/strong&gt;: Save contacts you might want to reach out to later.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Send Emails&lt;/strong&gt;: Draft and send emails directly from the application.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check Recent Mails&lt;/strong&gt;: Stay updated on recent emails from applied jobs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Create Meeting Reminders&lt;/strong&gt;: Set reminders for interviews or other job-related meetings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;View Meetings/Interviews&lt;/strong&gt;: Easily view scheduled meetings or interviews.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://reelug.vercel.app/" rel="noopener noreferrer"&gt;App Demo Link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Working on ReeLug has been very rewarding, and good. I have gained more understanding of our ReeLug works.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>nylaschallenge</category>
      <category>api</category>
      <category>nylas</category>
    </item>
    <item>
      <title>Real-Time Chat Application Starter kit with Neon Postgres, NestJS, and WebSocket.</title>
      <dc:creator>Fola</dc:creator>
      <pubDate>Sat, 31 Aug 2024 06:54:42 +0000</pubDate>
      <link>https://dev.to/ayoaduwo/real-time-chat-application-starter-kit-with-neon-postgres-nestjs-and-websocket-k6n</link>
      <guid>https://dev.to/ayoaduwo/real-time-chat-application-starter-kit-with-neon-postgres-nestjs-and-websocket-k6n</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/neon"&gt;Neon Open Source Starter Kit Challenge &lt;/a&gt;: Ultimate Starter Kit&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Kit
&lt;/h2&gt;

&lt;p&gt;This starter kit is a basic chat application built with NestJS, WebSocket, and Neon (Postgres). It provides a real-time messaging solution with secure user authentication and efficient data storage using Neon’s serverless PostgreSQL. The kit is designed to help developers quickly set up a real-time chat application with foundational features such as user registration, login, and JWT-based authentication.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;NOTE:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This blog post is a continuation of my previous post where I implemented an authentication system using &lt;strong&gt;NestJS&lt;/strong&gt; and &lt;strong&gt;Neon&lt;/strong&gt;. You can &lt;a href="https://dev.to/ayoaduwo/authentication-with-nestjs-neon-and-jwt-a-robust-starter-kit-9d9"&gt;click here to check it out&lt;/a&gt; to learn more.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Key Features&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Real-time Messaging&lt;/strong&gt;: Supports instant messaging using WebSocket for seamless user interaction without page reloads.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;User Authentication&lt;/strong&gt;: Implements secure JWT-based authentication for user login and registration, ensuring that only authenticated users can access the chat.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Persistent Storage&lt;/strong&gt;: Stores messages and user data securely in a Neon (Postgres) database.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Secure Connections&lt;/strong&gt;: Uses JWT to manage secure client-server communication and protect routes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Expandable Architecture&lt;/strong&gt;: Modular and clean architecture, making it easy to extend with additional features like group chat, media sharing, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Link to Kit
&lt;/h2&gt;

&lt;p&gt;The full source code and detailed setup instructions for the starter kit are available in the repository:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Aduwoayooluwa/neon-nestjs-jwt-auth-starter-kit/tree/chat-server" rel="noopener noreferrer"&gt;Basic Chat Application with NestJS, WebSocket, and Neon Starter Kit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository includes a comprehensive &lt;code&gt;README.md&lt;/code&gt; with step-by-step instructions on setting up the project, configuring environment variables, running the application, and using WebSocket for real-time messaging.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your Journey
&lt;/h2&gt;

&lt;p&gt;The idea behind this starter kit was to create a simple yet powerful chat application that demonstrates the integration of real-time communication with a secure backend. I chose &lt;strong&gt;NestJS&lt;/strong&gt; for its powerful, modular architecture and ease of integrating modern web development features. &lt;strong&gt;WebSocket&lt;/strong&gt; was selected to handle real-time bidirectional communication, and &lt;strong&gt;Neon&lt;/strong&gt; was used for its efficient, serverless PostgreSQL capabilities.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Why This Stack?&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;NestJS&lt;/strong&gt;: Provides a robust framework with TypeScript support, making it easy to build scalable and maintainable backend applications.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WebSocket&lt;/strong&gt;: Enables real-time, bidirectional, and event-based communication, perfect for chat applications.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Neon&lt;/strong&gt;: A modern, serverless PostgreSQL solution that simplifies database management and scaling for real-time applications.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What I Learned
&lt;/h3&gt;

&lt;p&gt;Throughout the process, I moved deeper into the inner workings of Neon’s serverless architecture and how to efficiently manage database connections directly in NestJS. I ensured that the starter kit not only performs well but also adheres to best practices for security and user experience.&lt;/p&gt;

&lt;p&gt;This project was an opportunity to blend modern web development techniques with a focus on security, performance, and scalability. By directly interacting with the Neon database and using NestJS’s powerful features, I was able to create a starter kit that is both easy to set up and robust enough for production use.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Highlights and Technical Insights&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Building this starter kit was an excellent opportunity to implement modern web development practices and explore the seamless integration of various technologies. The combination of &lt;strong&gt;NestJS&lt;/strong&gt; with &lt;strong&gt;WebSocket&lt;/strong&gt; allowed for a highly responsive and scalable real-time communication setup, while &lt;strong&gt;Neon's&lt;/strong&gt; serverless PostgreSQL provided a powerful backend solution for managing data efficiently.&lt;/p&gt;

&lt;p&gt;Integrating JWT-based authentication enhanced the security model, ensuring robust user management and secure access. Leveraging direct SQL queries with Neon also allowed for optimized data handling and manipulation, providing greater control over database interactions and performance tuning.&lt;/p&gt;

&lt;p&gt;This starter kit serves as a flexible and solid foundation for developers looking to create advanced chat applications with modern, scalable, and secure technologies.&lt;/p&gt;

&lt;p&gt;This starter kit is not just a tool—it’s a learning resource for developers to see how a modern, secure backend can be structured and implemented using cutting-edge technologies.&lt;/p&gt;

&lt;p&gt;Thank you for reading and considering my submission for the Neon Open Source Starter Kit Challenge! If you have any feedback or suggestions, feel free to contribute to the repository or reach out on &lt;a href="https://x.com/codingpastor" rel="noopener noreferrer"&gt;X or Twitter&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Access the&lt;/strong&gt; &lt;a href="https://www.postman.com/cloudy-capsule-869203/workspace/personal-workspace/collection/66d2ae24b7a7bebeb2e9acfe?action=share&amp;amp;creator=20051758" rel="noopener noreferrer"&gt;Postman Docs&lt;/a&gt;&lt;/p&gt;

</description>
      <category>database</category>
      <category>neonchallenge</category>
      <category>postgres</category>
      <category>devchallenge</category>
    </item>
    <item>
      <title>Authentication with NestJS, Neon, and JWT: A Robust Starter Kit</title>
      <dc:creator>Fola</dc:creator>
      <pubDate>Wed, 28 Aug 2024 14:37:24 +0000</pubDate>
      <link>https://dev.to/ayoaduwo/authentication-with-nestjs-neon-and-jwt-a-robust-starter-kit-9d9</link>
      <guid>https://dev.to/ayoaduwo/authentication-with-nestjs-neon-and-jwt-a-robust-starter-kit-9d9</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/neon"&gt;Neon Open Source Starter Kit Challenge &lt;/a&gt;: Ultimate Starter Kit&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Kit
&lt;/h2&gt;

&lt;p&gt;This starter kit provides a complete and secure authentication system using NestJS, Neon (serverless PostgreSQL), and JWT (JSON Web Tokens). It offers an end-to-end solution for user management, including registration, login, and protected routes using JWTs for stateless authentication.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Key Features&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;User Registration and Login&lt;/strong&gt;: Secure password hashing using bcrypt.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;JWT Authentication&lt;/strong&gt;: Token-based authentication with role-based route protection.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Direct Neon Integration&lt;/strong&gt;: Efficient database management with direct SQL interaction for flexibility and performance.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Validation and Error Handling&lt;/strong&gt;: Leveraging &lt;code&gt;class-validator&lt;/code&gt; and &lt;code&gt;class-transformer&lt;/code&gt; for robust input validation and structured error responses.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This kit is designed to be easily extensible and customizable, providing a solid foundation for any application that requires user authentication and secure access management.&lt;/p&gt;

&lt;h2&gt;
  
  
  Link to Kit
&lt;/h2&gt;

&lt;p&gt;The complete source code and detailed setup instructions for the starter kit are available in the repository:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Aduwoayooluwa/neon-nestjs-jwt-auth-starter-kit" rel="noopener noreferrer"&gt;Authentication with NestJS, Neon, and JWT Starter Kit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository includes a comprehensive README.md with step-by-step instructions on how to set up the project, configure environment variables, run the application, and access the API endpoints.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your Journey
&lt;/h2&gt;

&lt;p&gt;When I started this project, my goal was to create a starter kit that simplifies the often-complex chore of establishing authentication in online applications. I selected NestJS because of its modular architecture and simplicity of integration with modern security procedures. Neon was chosen for its serverless PostgreSQL capabilities, which provide seamless scalability and efficient database management through features like as branching and autoscaling. JWT enabled a safe, stateless way to handle user sessions.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Why This Stack?&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;NestJS&lt;/strong&gt;: Provides a robust framework that streamlines backend development with TypeScript, dependency injection, and an intuitive module system.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Neon&lt;/strong&gt;: Ideal for projects that need flexible, cloud-native PostgreSQL solutions without the hassle of managing infrastructure.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;JWT&lt;/strong&gt;: Widely recognized for its ability to provide secure, scalable, and stateless user authentication across various platforms.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What I Learned
&lt;/h3&gt;

&lt;p&gt;Throughout the process, I learned more about the inner workings of Neon's serverless architecture and how to manage database connections efficiently using NestJS. I also improved my grasp of error handling and validation, ensuring that the starting kit not only works properly but also follows best practices for security and user experience.&lt;/p&gt;

&lt;p&gt;This project provided an opportunity to combine modern web development methodologies with an emphasis on security, performance, and scalability. By communicating directly with the Neon database and leveraging NestJS's sophisticated features, I was able to construct a starter kit that is both simple to set up and robust enough for production use.&lt;/p&gt;

&lt;h3&gt;
  
  
  Challenges and Highlights
&lt;/h3&gt;

&lt;p&gt;The combination of direct SQL queries and error handling methods aided in the efficiency of this operation. Furthermore, implementing comprehensive validation with class-validator enabled a cleaner and safer data handling strategy.&lt;/p&gt;

&lt;p&gt;This beginning kit is more than just a tool; it's a resource for developers to learn how to organize and design a modern, secure backend using Neon.&lt;/p&gt;

&lt;p&gt;Thank you for reading and considering my submission for the Neon Open Source Starter Kit Challenge! If you have any feedback or suggestions, feel free to contribute to the repository or reach out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Access the&lt;/strong&gt; &lt;a href="https://www.postman.com/cloudy-capsule-869203/workspace/personal-workspace/collection/20051758-fe2a75c9-fdaa-4f9f-aa65-4b94aaa64a72?action=share&amp;amp;creator=20051758" rel="noopener noreferrer"&gt;Postman Docs&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>neonchallenge</category>
      <category>postgres</category>
      <category>database</category>
    </item>
    <item>
      <title>Designs incoming</title>
      <dc:creator>Fola</dc:creator>
      <pubDate>Sun, 11 Apr 2021 21:46:15 +0000</pubDate>
      <link>https://dev.to/ayoaduwo/designs-incoming-51ed</link>
      <guid>https://dev.to/ayoaduwo/designs-incoming-51ed</guid>
      <description></description>
      <category>design</category>
      <category>css</category>
    </item>
  </channel>
</rss>
