Skip to content

About

the brand-new version of web system for Ridaisai, the student festival.

Resources

Code of conduct

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Repository files navigation

PortalDots

Open-source web system for communication between university festival committees and participating groups.

License: MIT

What is PortalDots?

PortalDots is a web system that supports communication between festival executive committees and participating group representatives. It handles participant registration, form submissions, document distribution, and bulk email delivery — all in one place.

Developed by s-union, department of information systems. Free and open source under the MIT License.

Stack

Layer Technology
Frontend Vue 3 · Vite · TypeScript · Tailwind CSS v4
Backend Go · Echo · PostgreSQL 18
DB access sqlc · pgx/v5
API contract OpenAPI 3.x at backend/api/openapi.yaml
Email delivery Cloudflare Workers Queue (email Worker)
Task runner mise
Package manager pnpm (workspace)

Repository layout

PortalDots/
├── backend/              # Go API server
├── frontend/             # Vue 3 SPA
├── packages/
│   ├── api-client/       # openapi-typescript generated client
│   └── email/            # Cloudflare Worker: enqueue and deliver outbound mail
└── mise.toml             # task runner config

Development setup

Prerequisites

  • mise — manages Go, Node.js, sqlc, air, and other tools
  • Docker — runs the local PostgreSQL container
  • pnpm — installed globally against the mise-managed Node.js

Steps

# 1. Clone
git clone git@github.com:s-union/PortalDots.git
cd PortalDots

# 2. Install tools and dependencies, initialize .env, set up hooks, and seed the DB
mise bootstrap

# 3. Start the dev stack
mise run dev

Once running:

Service URL
Frontend (Vite) http://127.0.0.1:5173
Backend API http://127.0.0.1:8080
PostgreSQL localhost:55432

To also start the email Workers local stack:

mise run dev:worker

Common commands

# Static checks — all at once
mise run check

# Format
mise run format            # Go + frontend together
mise run backend:format    # Go only
mise run frontend:format   # frontend only

# Tests
mise run backend:test      # Go tests
cd frontend && pnpm test   # Vitest unit tests
mise run e2e:worker        # Playwright integration tests (requires dev:worker)

# Database
mise run backend:migrate   # apply pending migrations
mise run backend:seed      # insert demo data
mise run db:delete         # destroy local DB volume

# API client type generation
mise run api:client:codegen

For stack-specific details see:

Contributing

Issues and pull requests are welcome. See CONTRIBUTING.md for details.

License

MIT License

About

the brand-new version of web system for Ridaisai, the student festival.

Resources

Code of conduct

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages