Skip to content

Vesperino/PortalForge

Repository files navigation

PortalForge

.NET Version Nuxt Version License

Internal intranet portal - MVP

🇵🇱 Wersja polska

Live Demo

About

PortalForge is an intranet portal for managing organizational structure, vacations, requests, and internal communication.

Features

  • 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

Tech Stack

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

Quick Start

Prerequisites

Installation

git clone https://github.com/Vesperino/PortalForge.git
cd PortalForge

Configuration

Create .env files:

Frontend (frontend/.env):

NUXT_PUBLIC_SUPABASE_URL=your_supabase_url
NUXT_PUBLIC_SUPABASE_KEY=your_supabase_anon_key

Backend (backend/PortalForge.Api/.env):

SUPABASE_URL=your_supabase_url
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
CONNECTION_STRING=your_postgresql_connection_string

Running

Backend:

cd backend/PortalForge.Api
dotnet restore
dotnet run

Frontend:

cd frontend
npm install
npm run dev

Commands

Backend

Command Description
dotnet build Build project
dotnet test Run tests
dotnet ef migrations add <Name> Create migration
dotnet ef database update Apply migrations

Frontend

Command Description
npm run build Production build
npm run test Unit tests
npm run test:e2e E2E tests
npm run lint Lint code

Project Structure

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

License

All Rights Reserved


Status: MVP in development

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors