Infrastructure Overview
HIMARPL leverages modern cloud infrastructure to build reliable, scalable, and maintainable applications.
Core Projects
Our main projects follow a consistent architecture pattern:
- Ascendia - Main organization website
- Admin Portal - Internal admin dashboard
- Blog Platform - Medium-style blogging
- PMB - Website information for student admission
Three-Layer Architecture
Each project implements a three-layer architecture:
1. Frontend Layer (React)
Modern UI built with:
- 🎨 TailwindCSS - Utility-first styling
- 🧩 Shadcn/UI - Reusable components
- ✨ Motion - Smooth animations
- 🔄 Tanstack Query - Data fetching
2. Middle Layer (T3 Stack)
Type-safe backend integration using:
- TypeScript - Type safety
- Next.js - React framework
- tRPC - End-to-end typesafe APIs
- Prisma - Database ORM
- NextAuth - Authentication
3. Backend Layer (Next.js API Routes)
Server-side logic with:
- Analytics proxy (PostHog integration)
- tRPC Router - API endpoints
- tRPC Procedures - Business logic
- @tRPC Next - Next.js integration
Shared Infrastructure
Core services used across all projects:
Database (CockroachDB)
- Distributed SQL database
- Handles cross-project data
Analytics (PostHog)
- User behavior tracking
- Performance monitoring
- Centralized analytics
Rate Limiting (Upstash)
- Redis-based rate limiting
- API rate limiting
Event-Specific Projects
We maintain lightweight projects for events and temporary needs:
lomba-himarpl
- Competition websitesmabim-himarpl
- Student orientation sites
These use a simplified frontend-only stack:
- Next.js + React
- TailwindCSS styling
- Shadcn/UI components
- Motion animations
Bot Platform (Phoenix-chan)
Our Telegram bot uses a specialized architecture:
Components
-
Frontend Dashboard
- On development, contribute here
-
T3 Stack Core
- TypeScript
- Next.js routing
- Drizzle ORM
- Upstash rate limiting
-
Bot Service
- Webhook handlers
- Command procedures
- Telegram API integration
External Services
- Telegram Bot API
- NeonDB (PostgreSQL)
- Upstash Redis
Deployment
We use Vercel for deployment with:
- 🚀 Automated production deployments
- 🔍 Preview deployments for PRs
- ⚡️ Edge Functions support