Name the application Owltide

The name is inspired by the watchful owl perching from the tree tops
with complete overview of all that's going on combined with -tide in
the sense it's used for in words like summertide and eastertide.
This commit is contained in:
Hornwitser 2025-07-01 18:41:24 +02:00
parent 1b5fd9f72a
commit 9592cd3160
9 changed files with 45 additions and 59 deletions

View file

@ -1,75 +1,29 @@
# Nuxt Minimal Starter
<!--
SPDX-FileCopyrightText: © 2025 Hornwitser <code@hornwitser.no>
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Owltide
Look at the [Nuxt documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.
Owltide is a free open source event scheduling software for keeping the attendees at events informed about all the things going on. It's currently in early stages of development and not generallly useful.
## Setup
Make sure to install dependencies:
## Development setup
Use pnpm to install dependencies:
```bash
# npm
npm install
# pnpm
pnpm install
# yarn
yarn install
# bun
bun install
```
## Development Server
Start the development server on `http://localhost:3000`:
Run the development server on `http://localhost:3000` with:
```bash
# npm
npm run dev
# pnpm
pnpm dev
# yarn
yarn dev
# bun
bun run dev
```
## Production
Build the application for production:
Build and preview the production build with (rarely needed):
```bash
# npm
npm run build
# pnpm
pnpm build
# yarn
yarn build
# bun
bun run build
```
Locally preview production build:
```bash
# npm
npm run preview
# pnpm
pnpm preview
# yarn
yarn preview
# bun
bun run preview
```
Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.

View file

@ -8,6 +8,11 @@ export default defineNuxtConfig({
experimental: { renderJsonPayloads: true },
compatibilityDate: '2024-11-01',
devtools: { enabled: enableDevtools },
app: {
head: {
titleTemplate: "%s - Owltide",
},
},
runtimeConfig: {
cookieSecretKeyFile: "",
vapidSubject: "",

View file

@ -4,7 +4,7 @@
-->
<template>
<main>
<h1>About</h1>
<h1>About Owltide</h1>
<p>
This is a proof of concept intended to demonstrate the capabilities that web based scheduling tool can have. It implements a live editable schedule that can be used to collaboratively plan out the events times of a convention, as well as crew assignments to events and shift lists.
</p>
@ -35,3 +35,9 @@
</ul>
</main>
</template>
<script lang="ts" setup>
useHead({
title: "About",
});
</script>

View file

@ -41,6 +41,9 @@
definePageMeta({
middleware: ["authenticated"],
});
useHead({
title: "Settings",
});
const sessionStore = useSessionStore();
const accountStore = useAccountStore();

View file

@ -97,6 +97,10 @@
</template>
<script lang="ts" setup>
useHead({
title: "Admin",
});
const tabs = [
{ id: "users", title: "Users" },
{ id: "database", title: "Database" },

View file

@ -115,6 +115,9 @@ definePageMeta({
middleware: ["authenticated"],
allowedAccountTypes: ["crew", "admin"],
});
useHead({
title: "Edit",
});
const tabs = [
{ id: "locations", title: "Locations" },

View file

@ -4,7 +4,7 @@
-->
<template>
<main>
<h1>Schedule Demo</h1>
<h1>Owltide</h1>
<ul>
<li>
<NuxtLink to="/schedule">View Schedule</NuxtLink>
@ -26,5 +26,8 @@
</template>
<script lang="ts" setup>
useHead({
title: "Index",
});
const accountStore = useAccountStore();
</script>

View file

@ -34,6 +34,10 @@
</template>
<script lang="ts" setup>
useHead({
title: "Login",
});
const sessionStore = useSessionStore();
const { getSubscription, subscribe } = usePushNotification();

View file

@ -70,6 +70,10 @@
</template>
<script setup lang="ts">
useHead({
title: "Schedule",
});
const accountStore = useAccountStore();
const usersStore = useUsersStore();
await usersStore.fetch();