Internal intranet portal - MVP
- Frontend: Live demo
PortalForge is an intranet portal for managing organizational structure, vacations, requests, and internal communication.
- Authentication - Supabase Auth with email verification and role-based access control
- Organizational structure - Department hierarchy with visualization (tree, cards, list views)
- Vacation management - Team calendar, substitutes, conflict detection, email notifications
- Request system - Configurable templates, multi-step approval workflows, quizzes
- News & events - Publishing with categories, hashtags, and calendar integration
- Notifications - Real-time notifications with email integration
- Internal services - Catalog of internal tools and links
- AI Chat - Assistant for user support
| Layer | Technologies |
|---|---|
| Backend | .NET 8, ASP.NET Core, EF Core, PostgreSQL (Supabase) |
| Architecture | Clean Architecture + CQRS (MediatR) |
| Frontend | Nuxt 3, Vue 3, TypeScript, Pinia, Tailwind CSS |
| Auth | Supabase Auth |
| Testing | xUnit, Vitest, Playwright |
git clone https://github.com/Vesperino/PortalForge.git
cd PortalForgeCreate .env files:
Frontend (frontend/.env):
NUXT_PUBLIC_SUPABASE_URL=your_supabase_url
NUXT_PUBLIC_SUPABASE_KEY=your_supabase_anon_keyBackend (backend/PortalForge.Api/.env):
SUPABASE_URL=your_supabase_url
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
CONNECTION_STRING=your_postgresql_connection_stringBackend:
cd backend/PortalForge.Api
dotnet restore
dotnet runFrontend:
cd frontend
npm install
npm run dev| Command | Description |
|---|---|
dotnet build |
Build project |
dotnet test |
Run tests |
dotnet ef migrations add <Name> |
Create migration |
dotnet ef database update |
Apply migrations |
| Command | Description |
|---|---|
npm run build |
Production build |
npm run test |
Unit tests |
npm run test:e2e |
E2E tests |
npm run lint |
Lint code |
PortalForge/
├── backend/
│ ├── PortalForge.Api/ # REST API
│ ├── PortalForge.Application/ # Use cases (CQRS)
│ ├── PortalForge.Domain/ # Entities and domain logic
│ └── PortalForge.Infrastructure/ # Data access
├── frontend/ # Nuxt 3 application
│ ├── components/
│ ├── composables/
│ ├── pages/
│ └── stores/
└── .ai/ # Documentation
All Rights Reserved
Status: MVP in development