Informatics FRS Helper

Fullstack Typesafe Next.js application for ITS Informatics students to organize their FRS

Informatics FRS Helper

Description

Informatics FRS Helper is a website that can be used by ITS Informatics student to plan their FRS. FRS (Formulir Rencana studi) or Course Selection Sheet or course selection form or course registration form, is a document used by educational institutions, such as schools or colleges, to allow students to choose their desired courses for an upcoming academic term or year. With this web, students can easily see the latest course or class schedule and create a FRS plan based on that schedules.

Features

  • myFRS : Create and plan the class or course you would like to take during Course Registration (FRS).
  • myTradeMatkul : Exchange or trade class with other student

Live Demo

Here is the link to the live demo of this project: https://tc-frs-helper.live

Repository

Here is the link to the repository of this project: https://github.com/albugowy15/informatics-frs-helper

Tech Stack

TypeScript

TypeScript is a programming language that is a superset of JavaScript. It adds static typing to JavaScript, allowing for better tooling, enhanced code quality, and improved developer experience. TypeScript provides type checking during development, which helps catch potential errors and provides better code documentation.

Next.js

Next.js is a popular open-source React framework for building modern web applications. It provides server-side rendering (SSR), static site generation (SSG), and client-side rendering (CSR) capabilities, allowing developers to create high-performance and SEO-friendly web applications. Next.js offers features like automatic code splitting, routing, and hot module reloading, which enhance developer productivity. It also provides excellent support for CSS-in-JS solutions and API routes, making it a versatile choice for building web applications.

tRPC

tRPC (TypeScript RPC) is a lightweight framework for building efficient and type-safe APIs in TypeScript. It allows you to define your API endpoints and types in a concise manner, leveraging TypeScript’s static typing to catch errors early and improve developer productivity. tRPC supports various transport protocols like HTTP, WebSocket, and more.

Prisma

Prisma is an open-source database toolkit and Object-Relational Mapping (ORM) tool. It simplifies working with databases by providing a type-safe and auto-generated query builder. Prisma supports various databases and enables developers to write database queries using a convenient and intuitive syntax. It also facilitates schema migrations and data modeling.

Tailwind

Tailwind CSS is a utility-first CSS framework that provides a set of pre-defined CSS classes that can be used to style HTML elements. It offers a highly customizable and responsive design system, allowing developers to rapidly build user interfaces. With Tailwind CSS, you can create complex layouts and apply styles using simple class names, resulting in more efficient development.

NextAuth

NextAuth is an authentication library specifically designed for Next.js applications. It simplifies the implementation of authentication and authorization functionalities, including user sign-up, sign-in, and session management. NextAuth supports various authentication providers, such as OAuth, OpenID Connect, and social logins like Google, GitHub, and more. It offers a flexible and customizable architecture that allows developers to integrate authentication into their Next.js applications with ease.

PlanetScale

PlanetScale is a cloud-native database platform that specializes in managing scalable and highly available databases. It is built on top of the open-source database system Vitess, which is designed to handle large-scale workloads. With PlanetScale, you can easily create and manage horizontally scalable databases that can handle millions of transactions per second. It provides features like automated backups, point-in-time recovery, and granular access controls to ensure data reliability and security.

Vercel

Vercel is a cloud platform that specializes in deploying and hosting static websites, serverless functions, and Jamstack applications. It provides an intuitive developer experience and offers various features to optimize the performance and scalability of your applications. With Vercel, you can easily deploy your Next.js applications and leverage its powerful capabilities such as server-side rendering (SSR), static site generation (SSG), and automatic deployments. Vercel also offers features like CDN (Content Delivery Network) caching, edge caching, and domain management for efficient content delivery and improved performance.

Tech Stack : typescriptnexttrpcprismanextauthtailwind