zen

⛩ Nest + Prisma + Apollo + Angular 🏮 Full Stack GraphQL Starter Kit ⛩

Stars
185
Committers
4

Bot releases are visible (Hide)

zen - v2.1.0 <zen-layout> release

Published by ZenSoftware over 2 years ago

Issue: https://github.com/ZenSoftware/zen/issues/11

  • Refactor the current combination of <mat-toolbar> and mat-sidenav-container and abstract it as a <zen-layout> component instead.
  • Responsive mobile first design. Reference: Academind - Angular Material Responsive Navigation Tutorial
  • Multiple ng-content projections entry points that can be selected via <div slot="..."> as named sections.
<!-- app.component.html -->
<zen-layout>
  <div slot="menu-content">
    ...Menu items...
  </div>

  <div slot="main-content">
    <router-outlet></router-outlet>
  </div>
</zen-layout>
zen - v2.0.0 Battle tested and hardened the starter kit 🎐

Published by ZenSoftware over 2 years ago

⛩ Major version update ⛩

zen/apps/api/src/app/graphql/resolvers/Sample.ts

export const typeDefs = gql` 
   extend type Mutation { 
     sampleUpload(file: Upload!): Boolean! 
   } 
  
   type SampleSubscriptionResult { 
     message: String! 
   } 
  
   type Subscription { 
     sampleSubscription: SampleSubscriptionResult! 
   } 
 `; 
  
 const pubSub = new PubSub(); 
  
 interval(1000).subscribe(i => 
   pubSub.publish('sampleSubscription', { 
     sampleSubscription: { 
       message: `Server ticker ${i}`, 
     }, 
   }) 
 ); 
  
 @Resolver() 
 @UseGuards(GqlGuard) 
 @Roles('Super') 
 export class SampleResolver { 
   @Mutation() 
   async sampleUpload(@Args('file', { type: () => GraphQLUpload }) file: FileInfo) { 
     const readStream = file.file.createReadStream(); 
     const chunks = []; 
     for await (const chunk of readStream) { 
       chunks.push(chunk); 
     } 
     const buffer = Buffer.concat(chunks); 
     Logger.log(`Recieved '${file.file.filename}' ${buffer.byteLength} bytes`); 
     return true; 
   } 
  
   @Subscription() 
   async sampleSubscription(@GqlUser() user: RequestUser) { 
     Logger.log(`sampleSubscription subscribed to by user with id ${user.id}`); 
     return pubSub.asyncIterator('sampleSubscription'); 
   } 
 } 
zen - v1.3.0 Replaced GraphQL Playground for Apollo Sandbox

Published by ZenSoftware almost 3 years ago

zen - v1.2.1

Published by ZenSoftware almost 3 years ago

Increased performance on outgoing HTTP requests

zen - v1.2.0

Published by ZenSoftware almost 3 years ago

Replaced cookies for local storage authentication flow. The project no longer has any dependencies on cookies.

zen - v1.1.1

Published by ZenSoftware almost 3 years ago

zen - v1.0.0 Stable release

Published by ZenSoftware almost 3 years ago

All dependencies updated to latest versions

  • Upgraded to Nx 13
  • Upgraded to Angular v12
  • Upgraded to Nest v7
  • Upgraded to Bootstrap v5
  • PostgreSQL v14
zen - v0.3.0 Prisma @angular/forms helpers

Published by ZenSoftware over 3 years ago

@zen/graphql Prisma helpers released. These really help simplify utilizing @angular/forms with Prisma.

selectOne(value: any): {id: any}
selectMany(items: any[]): Array<{id: any}>
makeSetObject(data)     // Omits `__typename` and `id` properties from an object
makeCreateObject(data)  // Makes a Prisma create object from a value object
makeUpdateObject(data)  // Makes a Prisma update object from a value object
zen - v0.2.3 exposed better API configurations through environments

Published by ZenSoftware over 3 years ago

  • Exposed CORS and GraphQL Upload configurations through environment.ts and environment.prod.ts
  • Updated 3rd party dependencies
zen - v0.2.2 updated Prisma v2.16.0

Published by ZenSoftware over 3 years ago

zen - v0.2.1 Full dependencies update

Published by ZenSoftware over 3 years ago

All 3rd party dependencies upgraded to latest versions, including:

  • Typescript v4.1
  • Prisma v2.15
  • Pal.js CLI v2.11.1
zen - v0.2.0 Full dependencies update

Published by ZenSoftware over 3 years ago

  • Full dependencies update to latest versions
  • Re-code generated the only Prisma data type "User"
  • Authentication system has been battle tested, ready for beta.
  • Dark and Light themes working for all core components
zen -

Published by ZenSoftware almost 4 years ago

Alpha release. Core features done.