Skip to content

patfer3dcoding/diploma-maker

Repository files navigation

Diploma Pro

Trailer

Diploma Pro is an intuitive tool designed to simplify the diploma generation process for </Salt> (School of Applied Technology). This comprehensive full-stack application enables efficient batch generation of PDF Diplomas and Certificates in an organization.

Features

  • Batch Diploma Generation: Easily generate PDF diplomas in bulk by entering names manually or importing them from a csv, json or excel file.

  • Template Creator: Create and edit dynamic text fields through our template editor. Import custom pdf backgrounds, custom user fonts and edit font size, color, weight, position, alignment.

  • Verification System: Verification system ensuring authenticity of each diploma.

  • History System: Version Control for each student generation allowing the user to revert to previous diploma generations.

  • Email Management: Send out generated pdfs to their respective recipients with ease.

  • Generated Diplomas: A detailed overview of all diplomas associated with each bootcamp.

  • Bootcamp Management: Manage bootcamp details, including creating, editing, and viewing information about each bootcamp.

Technologies Used

Backend

  • C#/.NET: Coding language & Runtime engine.
  • ASP.NET CORE Web API: Framework for building Web APIs.
  • Entity Framework Core: Database interaction.
  • Clerk & Google OAuth 2.0: Authentication and authorization.
  • xUnit: Unit testing framework for .NET applications.
    • FluentAssertions: Writing readable assertions in tests.
  • AutoMapper: DTO mapping.
  • SixLabors.ImageSharp: Library for advanced image processing.

Frontend

  • TypeScript: Typed superset of JavaScript.
  • Vite: Fast build tool for modern SPAs
  • React: JS Library for building user interfaces.
    • React Hook Form: Form management in React.
    • React Router DOM: Routing for React apps.
    • React useQuery: Data fetching and caching in React.
  • HTML & CSS: Markup and styling languages.
  • pdfjs: PDF rendering in the browser.
  • pdfme: PDF generation library.
  • Clerk: User authentication and management.

Database

  • Postgres: Relational database system.

Deployment

  • GitHub Actions: CI/CD for automating workflows.
  • Supabase: Hosting and deployment for Postgres-based applications.
  • Vercel: Frontend
  • Google Cloud Run: Backend

Future Enhancements

  • UX Enhancements & Bug fixing: We are continously working on improving these areas.

  • User Roles and Permissions: Introduce different user roles and permissions for better access control.

Team Members