-
Clone the repo and install dependencies:
git clone https://github.com/Data-ScienceTech/portal-lesdauphins.git cd portal-lesdauphins npm install -
Copy the environment file and fill in your Supabase credentials:
cp .env.example .env
-
Start the dev server:
npm run dev
main— production branch, auto-deploys to Netlify on every push- Feature branches — create from
main, merge via pull request
feature/invoice-list
fix/login-redirect
docs/update-readme
Use clear, imperative-mood messages:
Add invoice list page with pagination
Fix language switcher not persisting selection
Update Supabase schema for parking spaces
- Create a feature branch from
main - Make your changes, ensure
npm run buildpasses - Push and open a PR against
main - The PR description should explain what and why
- GitHub Actions will build the project on every PR push
- TypeScript — all React components use
.tsx - Tailwind CSS — utility-first, use the ocean theme variables defined in
src/index.css - Bilingual — all user-facing text must go through
useLanguage().t(), with keys in both FR and EN inLanguageContext.tsx - Components — pages go in
src/pages/, reusable components insrc/components/
| Directory | Purpose |
|---|---|
src/pages/ |
Route-level page components |
src/contexts/ |
React contexts (Auth, Language) |
src/lib/ |
Library config (Supabase client) |
src/components/ |
Shared UI components (to be created) |
- Never commit
.env— it's in.gitignore - Production secrets are stored in GitHub Actions secrets and Netlify environment variables
- The Supabase anon key is public by design (protected by RLS policies)
- Never expose the service role key in client code
- Write your SQL migration
- Test it against a dev Supabase project
- Add the migration file to the repo root
- Document the change in your PR
- Check
docs/for project specifications and user stories - Review existing code in
src/pages/for patterns - Open an issue on GitHub for questions