Skip to content

appKom/penne

Folders and files

NameName
Last commit message
Last commit date

Latest commit

fac8003 · Apr 11, 2025
Feb 25, 2025
Mar 3, 2025
Feb 24, 2025
Feb 24, 2025
Feb 14, 2025
Oct 20, 2024
Sep 18, 2024
Oct 8, 2024
Sep 13, 2024
Sep 13, 2024
Mar 25, 2025
Feb 5, 2025
Apr 11, 2025
Apr 11, 2025
Sep 18, 2024
Jan 29, 2025
Nov 29, 2024

Repository files navigation

Onlinefondet (Penne)

Nettsiden for Onlinefondet, er utviklet med Next.js 15, App Router, Prisma for ORM, PostgreSQL som database og Supabase Storage for lagring av bilder og dokumenter

Funksjonalitet

  • Admin-panel (begrenset tilgang):

    • /admin Panel for admin dashboardet
    • /admin/portfolio Oversikt over verdien av porteføljen over tid, samt mulighet for å lege til verdier av porteføljen på en gitt dato.
    • /admin/members Oversikt over alle medlemmer, med mulighet for å legge til eller redigere info om medlemmer
    • /admin/applications Administrere søknader sendt til fond og legge til aktuelle vedlegg
    • /admin/composition Administrere fondets sammensetning

image image

  • Offentlige sider:
    • / Viser fondets sammensettning, markedsverdi og prestasjon over tid
    • /styret Viser fondet aktive og tidligere medlemmer
    • /vedteker Viser fondets vedtekter
    • /soknad Se info om søknader og tidligere søknader til fondet

Teknisk oversikt

  • Next.js 15: React-rammeverk.
  • Prisma: ORM (Object-Relational Mapping) for å håndtere databasen.
  • PostgreSQL: Databasen som lagrer data om medlemmer, søknader og fondets prestasjon.
  • Supabase Storage: Lagring av eventuelle filer/bilder knyttet til medlemmer eller annet innhold.

Getting Started

1. Clone the repository

git clone https://github.com/appKom/penne.git
cd penne

2. Install dependencies

npm install

3. Set up environment variables

Create .env file:

cp .env.template .env

Fill inn environment variables:

  • NEXTAUTH_URL: The URL where your app will run. When running locally, it will likely be http://localhost:3000/. In production, this would be your live domain.
  • NEXTAUTH_SECRET: A secret key used to encrypt session tokens in NextAuth.js. You can generate one with the command: openssl rand -base64 32.
  • GOOGLE_CLIENT_ID: The Client ID from the Google Developer Console. This is needed to enable Google OAuth authentication for your app.
  • GOOGLE_CLIENT_SECRET: The Client Secret from the Google Developer Console. This is also needed to complete the Google OAuth authentication setup.
  • NEXT_SUPABASE_URL: The URL of your Supabase project. You can find this in the Supabase dashboard under Settings -> API.
  • SUPABASE_ANEXT_SUPABASE_ANON_KEYNON_KEY: The public anonymous key for interacting with the Supabase API. You can find this in the Supabase dashboard under Settings -> API.
  • SUPABASE_SERVICE_KEY: The service role key for your Supabase project, which allows access to more sensitive operations like inserting or modifying data with elevated permissions.
  • DATABASE_URL: The connection string to your database.
  • ADMIN_EMAILS: Admin emails, a string seperated by commas