Malley is a X-like social media platform.
Note
For Docker Desktop users, you need to enable Expose deamon on tcp://localhost:2375 without TLS
in the Docker settings.
More informations here.
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
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
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
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