Campus Hub

screenshot of Campus Hub
nextjs
tailwind
shadcn-ui
drizzle-orm

Next.js microservices in a monorepo w/ Turborepo, demonstrating best practices and modern tech.

Overview

Campus Hub is a sophisticated showcase application that effectively brings together three distinct microservices tailored for students, library management, and finance tracking, all deployed seamlessly in the cloud. With a modern architecture based on Next.js, this project stands out by employing a monorepo structure thanks to Turborepo, enabling shared code and functionality. Designed to illustrate comprehensive software development skills, Campus Hub demonstrates impressive features combined with robust architecture, making it an intriguing proposition for educational institutions.

The application not only functions independently through its distinct portals but also integrates best practices, incorporating Continuous Integration/Continuous Deployment (CI/CD) pipelines, design patterns, and RESTful APIs to ensure both reliability and maintainability. Its focus on a user-friendly experience and thorough service offerings positions Campus Hub as a noteworthy asset for any academic environment.

Features

  • Student Portal: Offers secure student registration and authentication, course enrollment, and graduation status monitoring, ensuring students have their academic requirements at their fingertips.

  • Library Portal: Provides features for student verification and allows users to search and manage book collections, along with automatic overdue fee calculations for ease of management.

  • Finance Portal: Streamlines invoice management and payment processing, ensuring students can easily track and settle outstanding dues for courses and library fines.

  • CI/CD Pipelines: Implements automated testing and deployment through GitHub Actions and Vercel, enhancing deployment efficiency and reliability.

  • RESTful APIs: Facilitates seamless communication between microservices, ensuring a cohesive experience as users navigate through different functionalities.

  • Monorepo Structure: Leverages Turborepo for shared code and dependencies across microservices, promoting efficient development practices and code reusability.

  • Design Consistency: Utilizes Tailwind CSS, shadcn/ui, and Radix UI for a unified design system, delivering a polished and professional user interface across all portals.

  • Type Safety: Built with TypeScript to ensure type safety across the entire stack, improving developer experience and reducing runtime errors.

nextjs
Next.js

Next.js is a React-based web framework that enables server-side rendering, static site generation, and other powerful features for building modern web applications.

tailwind
Tailwind

Tailwind CSS is a utility-first CSS framework that provides pre-defined classes for building responsive and customizable user interfaces.

shadcn-ui
Shadcn UI

Beautifully designed components that you can copy and paste into your apps. Accessible. Customizable. Open Source.

drizzle-orm
Drizzle ORM

Drizzle ORM is a TypeScript ORM for SQL databases designed with maximum type safety in mind. It comes with a drizzle-kit CLI companion for automatic SQL migrations generation. Drizzle ORM is meant to be a library, not a framework. It stays as an opt-in solution all the time at any levels.

docker
Docker

A website that uses Docker for containerization to streamline development, testing, and deployment workflows. This includes features such as containerization of dependencies, automated builds and deployments, and container orchestration to ensure scalability and availability.

turborepo
Turborepo

Turbo is an incremental bundler and build system optimized for JavaScript and TypeScript, written in Rust.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.