DEV Community

Ahmet Uysal
Ahmet Uysal

Posted on

NestJS Hackathon Starter

Hi, I am a senior computer science student from Koç University, Istanbul. I am interested in web technologies and computer science education.

My Project

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 :)

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.

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.

Link to Code

GitHub logo ahmetuysal / nest-hackathon-starter

Hackathon starter project for NestJS. Includes TypeORM, email verification, Passport-JWT authentication, Swagger and more

Nest Hackathon Starter Nest Logo

This project contains boilerplate for creating APIs using Nest, a progressive Node.js framework for building efficient and scalable server-side applications.

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.

You can also look at my Angular Hackathon Starter template that shares the same contract with this API.


  1. PostgreSQL with TypeORM

  2. JWT Authentication

  3. Mail Verification

  4. Mail Change

  5. Password Reset

  6. Request Validation

  7. Customizable Mail Templates

  8. Swagger API Documentation

  9. Security Techniques

  10. Logger

Getting Started


  1. Make sure that you have Node.js(>= 8.9.0) installed.
  2. Clone this repository by running git clone <YOUR_PROJECT_NAME> or directly create your own GitHub repository using this template.
  3. Move to the appropriate directory: cd <YOUR_PROJECT_NAME>.
  4. Run npm install to install dependencies.

Configuration Files

TypeORM Configurations

This template uses Postgres by…

How I built it

I followed the official NestJS documentation to implement most of the features. Feel free to open an issue if you have any questions, feedback or feature requests :)

Top comments (1)

mkubdev profile image
Maxime Kubik

Hey! Just cloned, awesome thank you :)