Description
The Guard web application is built with modern, reliable technologies to ensure a fast and seamless user experience. Powered by Next.js 15 and styled with Tailwind CSS, it uses TypeScript for robust type safety and Prisma ORM for efficient communication with a PostgreSQL database. Secure authentication is provided through NextAuth, supporting both JWT and Google OAuth logins.
Behind the scenes, Guard leverages two powerful context providers:
AuthProvider: This manages authentication using server-side session checks with JWT tokens, automatically refreshing sessions when needed for continuous security.
DashboardDataProvider: Using a custom hook, this keeps all dashboard data and state centralized in one place, making the user experience smooth and responsive.
Most backend features are powered by Next.js server actions and a set of secure API endpoints. In addition, there's a dedicated Express.js (Node.js) API endpoint designed to handle requests from remote Windows client devices. This ensures the Guard web app and client apps work independently and reliably, even in complex environments.