Affiliated with Misurata College of Industrial Technology
- Overview
- Features & Core Services
- Tech Stack & Architecture
- Prerequisites
- Installation & Setup
- Environment Variables
- Usage
- Administrator Dashboard
- Enhancements & Roadmap
- Email Workflow
- Contributing
- License
This is the official web platform for the Misurata Center for Entrepreneurship and Business Incubators. It empowers students, innovators, collaborators, and administrators by providing:
- Real‑time news and event updates
- Publication of strategic plans and milestones
- An interactive Q&A module
- Submission portals for innovators and creators
- A sponsorship channel for collaborators and supporters
- Automatic Arabic-English translation for all user-facing content
Built with Next.js (App Router), TypeScript, Tailwind CSS, and Prisma, the platform emphasizes performance, modularity, and comprehensive internationalization (i18n) with real-time translation capabilities.
- News & Activities: Curated channel for the latest news and events.
- Strategic Plan: Detailed publication of college and center strategies.
- Quick Q&A: Instant answers for FAQs and knowledge base.
- Innovators & Creators: Project submission and approval workflow.
- Collaborators & Supporters: Registration for sponsors, experts, and donors.
- Automatic Translation: Seamless real-time translation between Arabic and English for all platform content.
- Frontend: Next.js (React) + TypeScript + Tailwind CSS
- Backend: Hono.js API Routes + tRPC (RPC patterns) + Prisma ORM
- Database: MySql (managed via Prisma migrations)
- Authentication: NextAuth.js (Credential & OAuth support)
- Email & Queue: BullMQ (Redis) + Nodemailer / SendGrid
- i18n: Next.js built-in internationalization with automatic translation routing
- Testing: Jest + React Testing Library
- CI/CD: GitHub Actions
src/
├── app/ # Next.js App Router (layouts & pages)
├── features/ # Domain modules (news, innovators, collaborators)
├── components/ # Reusable UI & layout components
├── lib/ # Utilities (db, rpc, email, utils)
├── prisma/ # Schema & migrations
├── public/ # Static assets (images, fonts, icons)
├── i18n/ # Localization setup
└── middleware.ts # Route guards & RBAC
- Node.js (v18+)
- bun or npm
- Mysql
- Redis (for queue workers)
- Clone repository
git clone https://github.com/mohammed3200/website.git cd website - Install dependencies
npm install # or bun install - Generate Prisma client
npx prisma generate # or bunx prisma generate - Run migrations
npx prisma migrate deploy # or bunx prisma migrate deploy - Seed database (optional)
npm run seed # or bun run seed
- Development
npm run dev # or bun run dev - Production Build
npm run build npm start # or bun run build # or bun start
- Running Dashboard Worker
npm run worker # or bun run worker
Visit http://localhost:3000 for the public site and http://localhost:3000/admin/login for the dashboard.
Protected under /admin/*, the dashboard offers:
- Analytics: Overview of pending approvals, user stats
- Content Management: CRUD interfaces for News, Strategic Plan, FAQs
- Submission Review: Approve or reject innovators and collaborators
- User Management: Create/Edit admin accounts and roles
/pages/admin/
├── login.tsx
├── dashboard.tsx
├── news/ # Manage articles
├── strategic/ # Strategic plan entries
├── faq/ # FAQs moderation
├── innovators/ # Projects review
└── collaborators/ # Sponsors management
- Full‑Text Search: Integrate Algolia or Elasticsearch
- Real‑Time Q&A: Socket.io for live chat support
- Audit Logs: Immutable logs of admin actions
- Mobile App API: GraphQL endpoint for React Native companion apps
- Accessibility: Automated ARIA and color-contrast audits
Transactional emails for approval/rejection:
- Admin triggers action in dashboard
- Frontend calls
/api/admin/notifications - BullMQ enqueues email job
- Worker sends localized email via SendGrid/Nodemailer
Templates are stored in src\app\admin\settings\email-templates using Handlebars.
- Fork the repo and create a feature branch
- Follow code style and testing guidelines
- Submit a pull request with descriptive details
Please review CONTRIBUTING.md for more details.
Distributed under the MIT License. See LICENSE for details.