Thanks to visit codestin.com
Credit goes to github.com

Skip to content

AFCMS/malley

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Malley

Malley is a X-like social media platform.

Tech Stack

Vite React React Router

TailwindCSS daisyUI

NodeJS TypeScript

Vercel Supabase GitHub Actions

Documentation

Prerequisites

Note

For Docker Desktop users, you need to enable Expose deamon on tcp://localhost:2375 without TLS in the Docker settings.

More informations here.

Run project

You can use the Supabase CLI (recommended) or you own cloud instance of Supabase for development.

pnpm install

pnpm run supabase start

Populate the .env.local file with data from the supabase start output.

VITE_SUPABASE_URL="http://127.0.0.1:54321"
VITE_SUPABASE_ANON_KEY="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
VITE_GOOGLE_SITE_VERIFICATION=""
pnpm run dev

# Afterwards you may want to stop the supabase containers
pnpm run supabase stop

Finally, start the edge functions

pnpm run supabase functions serve

Create Migrations

Database documentation is here.

Modify the database from Supabase Studio and export the DB diff to a file, then refine it (formating, comments, etc):

pnpm run --silent supabase db diff --schema public > my_file.sql

Create a new migration file in supabase/migrations and fill the given file with the content of the diff file:

pnpm run supabase migration new migration_name

Update the TypeScript definitions:

pnpm run --silent supabase gen types typescript --local > src/contexts/supabase/database.d.ts

Reset DB (or apply the migration if possible):

pnpm run supabase db reset
# or if your local edits can be reapplied without errors
pnpm run supabase migration up

Run tests

Vitest is used for tests. Use environment variables to determine test targets. Available targets are :

TEST_ALL=1 // run every test
TEST_SUPABASE=1 // run supabase tests // DESTRUCTIVE

Note that some tests, like those of supabase, are destructive. To run these, confirm it is what you want to do by additionally setting DESTRUCTIVE_TARGET :

DESTRUCTIVE_ALL=1
DESTRUCTIVE_SUPABASE=1

Update Logo

The logo source file is an Inkscape SVG, which needs to be exported to a standard SVG file after modification.

inkscape --export-type=svg --export-plain-svg --export-overwrite --export-filename=./public/favicon.svg ./src/logo.svg
# or
flatpak run org.inkscape.Inkscape --export-type=svg --export-plain-svg --export-overwrite --export-filename=./public/favicon.svg ./src/logo.svg

# then update derivated icons
pnpm run generate-pwa-assets

Made with ❤️ by:

Ecole Hexagone 🇫🇷 - Class of 2024/2025

Contributors 4

  •  
  •  
  •  
  •