Skip to content

A comprehensive school management system(SMS) Web App for universities and colleges that encompasses students, instructors and supervisors. The project has role based authentication with intuitive UI/UX designs.

Notifications You must be signed in to change notification settings

FilippoDeSilva/class-unity-fullstack-sms

Repository files navigation

Class Unity School Management System

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

Learn More

To learn more about Next.js, take a look at the following resources:

To fully run the project

-To run the project fully:

  • npm run dev
  • npx prisma studio
  • run a docker postgres container for the database with POSTGRES_USER= and POSTGRES_PASSWORD= and POSTGRES_DB= and use the default port
  • create a .env file at the directory of the project and put something like this:

    NEXT_PUBLIC_STREAM_API=
    STREAM_API_SECRET=
    STREAM_APP_ID=
    #JWT STRING
    JWT_SECRET=
    NEXTAUTH_SECRET= It'll be added by npx auth. Read more: https://cli.authjs.dev
    DATABASE_URL='postgresql://:@localhost:5432/'

  • create a .env.local file at the directory of the project and put something like this:

    NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
    CLERK_SECRET_KEY=
    NEXT_PUBLIC_CLERK_SIGN_IN_URL=/
    CLERK_WEBHOOK_SECRET=

      A AUTOMATICALLY GENERATED ENCRYPTION KEY FOR CLERK

      YOU CAN GENERATE ONE FOLLOWING THE STEPS:
  
      For Linux:
  
      openssl rand -base64 32
  
      OR WITH A POWERSHELL COMMAND for Windows:
  
      $rng = New-Object System.Security.Cryptography.RNGCryptoServiceProvider
      $bytes = New-Object byte[](32)
      $rng.GetBytes($bytes)
      $key = [Convert]::ToBase64String($bytes)
      Write-Output $key

    CLERK_ENCRYPTION_KEY=<your-clerk-encryption-key>
#STREAM API
NEXT_PUBLIC_STREAM_API=
STREAM_API_SECRET=
#Claudinary Secrets
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=
NEXT_PUBLIC_CLOUDINARY_API_KEY=
NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET=
CLOUDINARY_URL=

Maintenance commands

  • npx prisma db seed
  • npm i -d ts-node
  • npx prisma migrate dev --name migrations
  • npx prisma generate
  • npx prisma studio
  • npx prisma migrate reset

About

A comprehensive school management system(SMS) Web App for universities and colleges that encompasses students, instructors and supervisors. The project has role based authentication with intuitive UI/UX designs.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages