source-code/
portofolio-backend
Public
typescript41 lines1.2 KB
import { Module } from '@nestjs/common';
import { CacheModule } from '@nestjs/cache-manager';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { PrismaModule } from './prisma/prisma.module';
import { AuthModule } from './auth/auth.module';
import { PortfolioModule } from './portfolio/portfolio.module';
import { ThrottlerModule, ThrottlerGuard } from '@nestjs/throttler';
import { APP_GUARD } from '@nestjs/core';
import { ConfigModule } from './config/config.module';
import { ScheduleModule } from '@nestjs/schedule';
import { GithubModule } from './github/github.module';
import { ContactModule } from './contact/contact.module';
@Module({
imports: [
CacheModule.register({
isGlobal: true,
ttl: 3600000, // 1 hour
max: 100, // Max items in memory
}),
ThrottlerModule.forRoot([{ ttl: 60000, limit: 100 }]), // 100 requests per minute
ScheduleModule.forRoot(),
PrismaModule,
AuthModule,
PortfolioModule,
ConfigModule,
GithubModule,
ContactModule,
],
controllers: [AppController],
providers: [
AppService,
{
provide: APP_GUARD,
useClass: ThrottlerGuard,
},
],
})
export class AppModule {}
About
Fullstack portfolio backend built with NestJS, Prisma, and PostgreSQL. Features JWT authentication, throttler rate limits, cache management, and automated GitHub repository synchronization.
linknre.codes
TypeScriptNestJSPostgreSQLPrisma