/slackify

This project is a slack bot that pushes daily notifications to a slack channel about the progress of the users in the Advent of Code event. It also gives announcements about the event and generates certificates for the users who have completed the event.

Primary LanguageTypeScriptMIT LicenseMIT

Slackify

This repository was bootstrapped from taxonomy by shadcn and serves as a starting point for our own project. We want to give proper credit to shadcn for their work and inspiration. Thank you for making your code available and for allowing us to build upon it. Any additional changes or contributions made by us will be noted in the commit history.

About this project

og

This project is a slack bot that pushes daily notifications to a slack channel about the progress of the users in the Advent of Code event. It also gives announcements about the event and generates certificates for the users who have completed the event.

1686126105083.mp4

Note on Performance

Warning This app is using the canary releases for Next.js 13 and React 18. The new router and app dir is still in beta and not production-ready. NextAuth.js, which is used for authentication, is also not fully supported in Next.js 13 and RSC. Expect some performance hits when testing the dashboard. If you see something broken, you can ping me @nhemnt.

Demo

Untitled design

certificates

Features

  • Private leaderboard slack bot
  • Slack custom announcements
  • Generate certificate
  • New /app dir,
  • Routing, Layouts, Nested Layouts and Layout Groups
  • Data Fetching, Caching and Mutation
  • Loading UI
  • Server and Client Components
  • API Routes and Middlewares
  • Authentication using NextAuth.js
  • ORM using Prisma
  • Database on PlanetScale
  • UI Components built using Radix UI
  • Documentation and blog using MDX and Contentlayer
  • Styled using Tailwind CSS
  • Validations using Zod
  • Written in TypeScript

Roadmap

  • Add MDX support for basic pages
  • Build marketing pages
  • Subscriptions using Stripe~
  • Responsive styles
  • Add OG image for blog using @vercel/og
  • Add tests
  • Dark mode
  • Choose template for certificate
  • Login using gmail and map oranisations

Known Issues

A list of things not working right now:

  1. GitHub authentication (use email)
  2. Prisma: Error: ENOENT: no such file or directory, open '/var/task/.next/server/chunks/schema.prisma'
  3. Next.js 13: Client side navigation does not update head

Running Locally

  1. Install dependencies using pnpm:
pnpm install
  1. Copy .env.example to .env.local and update the variables.
cp .env.example .env.local
  1. Start the development server:
pnpm dev

License

Licensed under the MIT license.