A high-performance, responsive web application tailored for the Malaysian Amateur Radio Transmitters' Society (MARTS). Built to provide lightning-fast lookups, advanced filtering, and a beautiful futuristic interface.
Note: This is an unofficial community project made for 🇲🇾 by 9M2PJU.
- ⚡ Blazing Fast: Powered by Next.js App Router and Supabase.
- Performance:
- Parallel Data Fetching: 4x faster initial load.
- Debounced Search: Instant responsiveness.
- Memoized Components: Optimized rendering.
- 🔍 Advanced Search: Instant callsign, name, or ID lookup.
- 📻 Smart Filters:
- Class: A, B, C, and SWL support.
- Region: West Malaysia, Sabah, Sarawak.
- Status: Live Active/Expired sorting.
- 📱 Mobile Optimized: Fully responsive PWA-ready design.
- 🎨 Modern UI: Glassmorphism aesthetics with "Space/Orbitron" theme.
- 🛡️ RBAC Admin: Role-based access control for Admins and Super Admins.
| Component | Technology |
|---|---|
| Framework | Next.js 14 (App Router) |
| Language | TypeScript |
| Styling | Tailwind CSS + Lucide Icons |
| Database | Supabase (PostgreSQL) |
| Auth | Supabase Auth |
| Deployment | Vercel |
To get a local copy up and running, follow these steps.
- Node.js 18+ installed
-
Clone the repo
git clone https://github.com/9M2PJU/9M2PJU-MARTS-Membership.git
-
Install NPM packages
npm install
-
Set up your
.env.localfile with Supabase credentials. -
Run the development server
npm run dev
| Prefix | Region | Class |
|---|---|---|
| 9M2 | West Malaysia | A |
| 9M6 | Sabah | A |
| 9M8 | Sarawak | A |
| 9W2 | West Malaysia | B |
| 9W6 | Sabah | B |
| 9W8 | Sarawak | B |
| SWL | West Malaysia | SWL |
Distributed under the MIT License. See LICENSE for more information.
Made with ❤️ by 9M2PJU
