<?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: Ahmet Uysal</title>
    <description>The latest articles on DEV Community by Ahmet Uysal (@ahmetuysal).</description>
    <link>https://dev.to/ahmetuysal</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%2F390742%2Ff77d6964-e5a3-49bb-8c04-c01ba8d1144a.jpeg</url>
      <title>DEV Community: Ahmet Uysal</title>
      <link>https://dev.to/ahmetuysal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ahmetuysal"/>
    <language>en</language>
    <item>
      <title>NestJS Hackathon Starter</title>
      <dc:creator>Ahmet Uysal</dc:creator>
      <pubDate>Fri, 22 May 2020 10:13:22 +0000</pubDate>
      <link>https://dev.to/ahmetuysal/nestjs-hackathon-starter-541k</link>
      <guid>https://dev.to/ahmetuysal/nestjs-hackathon-starter-541k</guid>
      <description>&lt;p&gt;Hi, I am a senior computer science student from Koç University, Istanbul. I am interested in web technologies and computer science education.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Project
&lt;/h2&gt;

&lt;p&gt;I have joined many hackathons throughout my collage years. I noticed creating an initial project and implementing generic features such as authentication and database connection takes several hours in every competition, which limits time I can put into the unique parts of the project. However, these features are also important and brings your team points in evaluation process :)&lt;/p&gt;

&lt;p&gt;So, I decided to create a simple starter project and it grew more and more after each hackathon. Currently, it implements authentication, email verification, Swagger documentation, request validation, password reset and more. &lt;/p&gt;

&lt;p&gt;Building it taught me many things about Typescript, NestJS, unit testing, backend development, and software engineering in general. Feel free to use it on your projects and even add new features with pull requests.&lt;/p&gt;

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


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vWogaON8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-28d89282e0daa1e2496205e2f218a44c755b0dd6536bbadf5ed5a44a7ca54716.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/ahmetuysal"&gt;
        ahmetuysal
      &lt;/a&gt; / &lt;a href="https://github.com/ahmetuysal/nest-hackathon-starter"&gt;
        nest-hackathon-starter
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Hackathon starter project for NestJS. Includes TypeORM, email verification, Passport-JWT authentication, Swagger and more
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
Nest Hackathon Starter &lt;a href="https://nestjs.com/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/0d358238ba8c67946e6555aad926b947e1a5048f/68747470733a2f2f6e6573746a732e636f6d2f696d672f6c6f676f5f746578742e737667" height="28px" alt="Nest Logo"&gt;&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;This project contains boilerplate for creating APIs using &lt;a href="https://nestjs.com" rel="nofollow"&gt;Nest&lt;/a&gt;, a progressive &lt;a href="http://nodejs.org" rel="nofollow"&gt;Node.js&lt;/a&gt; framework for building efficient and scalable server-side applications.&lt;/p&gt;
&lt;p&gt;It is mostly built to be used as a starting point in hackathons and implements common operations such as sign up, JWT authentication, mail validation, model validation and database access.&lt;/p&gt;
&lt;p&gt;You can also look at my &lt;a href="https://github.com/ahmetuysal/angular-hackathon-starter"&gt;Angular Hackathon Starter&lt;/a&gt; template that shares the same contract with this API.&lt;/p&gt;
&lt;h2&gt;
Features&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;PostgreSQL with TypeORM&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;JWT Authentication&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mail Verification&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mail Change&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Password Reset&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Request Validation&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Customizable Mail Templates&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Swagger API Documentation&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Security Techniques&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Logger&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
Getting Started&lt;/h2&gt;
&lt;h3&gt;
Installation&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Make sure that you have &lt;a href="https://nodejs.org" rel="nofollow"&gt;Node.js&lt;/a&gt;(&amp;gt;= 8.9.0) installed.&lt;/li&gt;
&lt;li&gt;Clone this repository by running &lt;code&gt;git clone https://github.com/ahmetuysal/nest-hackathon-starter.git &amp;lt;YOUR_PROJECT_NAME&amp;gt;&lt;/code&gt; or &lt;a href="https://github.com/ahmetuysal/nest-hackathon-starter/generate"&gt;directly create your own GitHub repository using this template&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Move to the appropriate directory: &lt;code&gt;cd &amp;lt;YOUR_PROJECT_NAME&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;npm install&lt;/code&gt; to install dependencies.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
Configuration Files&lt;/h3&gt;
&lt;h4&gt;
&lt;a href="https://github.com/typeorm/typeorm"&gt;TypeORM&lt;/a&gt; Configurations&lt;/h4&gt;
&lt;p&gt;This template uses Postgres by…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/ahmetuysal/nest-hackathon-starter"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  How I built it
&lt;/h2&gt;

&lt;p&gt;I followed the &lt;a href="https://docs.nestjs.com/"&gt;official NestJS documentation&lt;/a&gt; to implement most of the features. Feel free to open an issue if you have any questions, feedback or feature requests :)&lt;/p&gt;

</description>
      <category>octograd2020</category>
      <category>showdev</category>
      <category>node</category>
      <category>typescript</category>
    </item>
  </channel>
</rss>
