From 440d29b7aa6dd37db134772ede699729595fcf14 Mon Sep 17 00:00:00 2001 From: Mamadou Diagne Date: Fri, 18 Sep 2026 01:39:46 +0000 Subject: [PATCH 01/12] chore: rename the project to p2p-local The previous name and the visual identity that came with it can no longer be used. This renames the npm scope, the workspace, the Expo application and the documentation to a neutral code name, so a real name can replace it later in a single pass instead of a hunt through the tree. The database, docker and storage credentials keep their current value: changing them would force every contributor to recreate their local volumes for no gain at this stage. The generated API client is renamed to match the OpenAPI title; regenerating it with `pnpm api:generate` produces the same file. --- .github/workflows/ci.yml | 4 +- .prettierrc | 2 +- CODE_OF_CONDUCT.md | 2 +- LICENSE | 2 +- README.md | 8 +- apps/admin/eslint.config.mjs | 2 +- apps/admin/next.config.ts | 2 +- apps/admin/package.json | 14 ++-- apps/admin/src/app/(console)/layout.tsx | 2 +- .../src/app/(console)/moderation/page.tsx | 2 +- apps/admin/src/app/layout.tsx | 2 +- apps/admin/src/features/auth/session.ts | 4 +- apps/admin/src/lib/api.ts | 4 +- apps/admin/src/styles/globals.css | 2 +- apps/admin/tsconfig.json | 2 +- apps/api/eslint.config.js | 2 +- apps/api/openapi.json | 2 +- apps/api/package.json | 10 +-- apps/api/src/bootstrap.ts | 4 +- .../src/common/decorators/roles.decorator.ts | 2 +- apps/api/src/common/dto/pagination.dto.ts | 2 +- apps/api/src/common/guards/jwt-auth.guard.ts | 2 +- apps/api/src/common/guards/roles.guard.ts | 2 +- apps/api/src/modules/auth/auth.module.ts | 2 +- apps/api/src/modules/auth/dto/auth.dto.ts | 2 +- .../auth/phone-verification.service.ts | 2 +- apps/api/src/modules/auth/session.service.ts | 4 +- .../listings/dto/create-listing.dto.ts | 4 +- .../listings/dto/search-listings.dto.ts | 2 +- .../modules/listings/listing.serializer.ts | 2 +- .../src/modules/listings/listings.service.ts | 6 +- .../locations/locations.service.spec.ts | 2 +- .../modules/locations/locations.service.ts | 4 +- .../notifications/notifications.service.ts | 2 +- .../modules/reports/dto/create-report.dto.ts | 2 +- apps/api/src/modules/users/users.service.ts | 2 +- apps/api/test/setup.ts | 2 +- apps/api/tsconfig.json | 2 +- apps/mobile/app.json | 10 +-- apps/mobile/app/(tabs)/_layout.tsx | 2 +- apps/mobile/app/(tabs)/favorites.tsx | 2 +- apps/mobile/app/(tabs)/index.tsx | 2 +- apps/mobile/app/(tabs)/profile.tsx | 2 +- apps/mobile/app/(tabs)/search.tsx | 2 +- apps/mobile/app/listing/[id].tsx | 2 +- apps/mobile/components/listing-card.tsx | 2 +- apps/mobile/eslint.config.mjs | 2 +- apps/mobile/features/listings/use-listings.ts | 2 +- apps/mobile/lib/api.ts | 4 +- apps/mobile/lib/token-store.ts | 4 +- apps/mobile/package.json | 16 ++-- apps/mobile/stores/listing-draft.store.ts | 2 +- apps/mobile/stores/search-filters.store.ts | 2 +- apps/mobile/tsconfig.json | 2 +- apps/web/eslint.config.mjs | 2 +- apps/web/next.config.ts | 8 +- apps/web/package.json | 16 ++-- apps/web/src/app/layout.tsx | 2 +- apps/web/src/app/page.tsx | 2 +- apps/web/src/features/listings/api.ts | 2 +- apps/web/src/lib/api.ts | 4 +- apps/web/src/styles/globals.css | 2 +- apps/web/tsconfig.json | 2 +- docker/initdb/20-trim-extensions.sql | 2 +- package.json | 12 +-- packages/api-client/eslint.config.mjs | 2 +- packages/api-client/orval.config.ts | 4 +- packages/api-client/package.json | 6 +- .../src/generated/models/addFavoriteDto.ts | 2 +- .../src/generated/models/authTokensDto.ts | 2 +- .../categoriesControllerFindBySlugV1200.ts | 2 +- .../categoriesControllerTreeV1200Item.ts | 2 +- .../src/generated/models/createCategoryDto.ts | 2 +- .../src/generated/models/createListingDto.ts | 2 +- .../models/createListingDtoCondition.ts | 2 +- .../generated/models/createListingDtoType.ts | 2 +- .../src/generated/models/createReportDto.ts | 2 +- .../generated/models/createReportDtoReason.ts | 2 +- .../models/createReportDtoTargetType.ts | 2 +- .../models/favoritesControllerListV1Params.ts | 2 +- .../models/healthControllerReady200.ts | 2 +- .../models/healthControllerReady200Details.ts | 2 +- .../healthControllerReady200DetailsStatus.ts | 2 +- .../models/healthControllerReady200Error.ts | 2 +- .../models/healthControllerReady200Info.ts | 2 +- .../models/healthControllerReady200Status.ts | 2 +- .../models/healthControllerReady503.ts | 2 +- .../models/healthControllerReady503Details.ts | 2 +- .../healthControllerReady503DetailsStatus.ts | 2 +- .../models/healthControllerReady503Error.ts | 2 +- .../models/healthControllerReady503Info.ts | 2 +- .../models/healthControllerReady503Status.ts | 2 +- .../api-client/src/generated/models/index.ts | 2 +- .../models/listingsControllerCreateV1201.ts | 2 +- .../listingsControllerFindManyV1Condition.ts | 2 +- .../listingsControllerFindManyV1Params.ts | 2 +- .../listingsControllerFindManyV1Sort.ts | 2 +- .../listingsControllerFindManyV1Type.ts | 2 +- .../listingsControllerFindMineV1Params.ts | 2 +- .../models/listingsControllerFindOneV1200.ts | 2 +- .../models/listingsControllerUpdateV1200.ts | 2 +- .../src/generated/models/loginDto.ts | 2 +- .../notificationsControllerListV1Params.ts | 2 +- .../src/generated/models/otpChallengeDto.ts | 2 +- .../src/generated/models/refreshDto.ts | 2 +- .../src/generated/models/registerDto.ts | 2 +- .../models/reportsControllerListV1Params.ts | 2 +- .../src/generated/models/reviewReportDto.ts | 2 +- .../generated/models/reviewReportDtoStatus.ts | 2 +- .../src/generated/models/sessionUserDto.ts | 2 +- .../src/generated/models/updateCategoryDto.ts | 2 +- .../src/generated/models/updateListingDto.ts | 2 +- .../models/updateListingDtoCondition.ts | 2 +- .../models/updateListingDtoStatus.ts | 2 +- .../src/generated/models/updateProfileDto.ts | 2 +- .../src/generated/models/verifyOtpDto.ts | 2 +- .../generated/models/verifyOtpDtoPlatform.ts | 2 +- .../generated/{wantere.ts => p2p-local.ts} | 2 +- packages/api-client/src/index.ts | 2 +- packages/api-client/tsconfig.json | 2 +- packages/config/eslint.config.mjs | 2 +- packages/config/package.json | 6 +- packages/config/tsconfig.json | 2 +- packages/design-tokens/eslint.config.mjs | 2 +- packages/design-tokens/package.json | 6 +- packages/design-tokens/tsconfig.json | 2 +- packages/eslint-config/package.json | 2 +- packages/prettier-config/package.json | 2 +- packages/types/eslint.config.mjs | 2 +- packages/types/package.json | 6 +- packages/types/tsconfig.json | 2 +- packages/typescript-config/package.json | 2 +- packages/validation/eslint.config.mjs | 2 +- packages/validation/package.json | 10 +-- packages/validation/src/auth.ts | 2 +- packages/validation/src/listing.ts | 4 +- packages/validation/src/primitives.ts | 2 +- packages/validation/src/report.ts | 2 +- packages/validation/tsconfig.json | 2 +- pnpm-lock.yaml | 74 +++++++++---------- 140 files changed, 241 insertions(+), 241 deletions(-) rename packages/api-client/src/generated/{wantere.ts => p2p-local.ts} (99%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1bb525c..dab6c58 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -57,7 +57,7 @@ jobs: - run: pnpm install --frozen-lockfile - name: Apply database migrations - run: pnpm --filter @wantere/api db:deploy + run: pnpm --filter @p2p-local/api db:deploy - run: pnpm lint @@ -66,6 +66,6 @@ jobs: - run: pnpm test - name: Run end-to-end tests - run: pnpm --filter @wantere/api test:e2e + run: pnpm --filter @p2p-local/api test:e2e - run: pnpm build diff --git a/.prettierrc b/.prettierrc index 41c6f22..30339a6 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1 +1 @@ -"@wantere/prettier-config" +"@p2p-local/prettier-config" diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index dd94997..10e36e2 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -2,7 +2,7 @@ ## Our pledge -We want participation in Wantere to be a harassment-free experience for +We want participation in P2P Local to be a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. diff --git a/LICENSE b/LICENSE index 54539b3..9db8ad7 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2026 Wantere contributors +Copyright (c) 2026 P2P Local contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 0823312..7967608 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Wantere +# P2P Local -Wantere est une plateforme communautaire pour acheter, vendre, donner et +P2P Local est une plateforme communautaire pour acheter, vendre, donner et échanger des biens près de chez soi. Elle est pensée d'abord pour le Sénégal, mais rien dans son architecture ne suppose un pays unique. @@ -108,7 +108,7 @@ vivent dans une migration écrite à la main. pnpm lint pnpm typecheck pnpm test -pnpm --filter @wantere/api test:e2e # nécessite Postgres et Redis +pnpm --filter @p2p-local/api test:e2e # nécessite Postgres et Redis pnpm build ``` @@ -121,7 +121,7 @@ pnpm api:generate ``` Cette commande exporte `apps/api/openapi.json` et régénère -`@wantere/api-client`. Les deux sont versionnés pour que les applications +`@p2p-local/api-client`. Les deux sont versionnés pour que les applications compilent sans API démarrée. ## Contribuer diff --git a/apps/admin/eslint.config.mjs b/apps/admin/eslint.config.mjs index df01424..75f7d30 100644 --- a/apps/admin/eslint.config.mjs +++ b/apps/admin/eslint.config.mjs @@ -1 +1 @@ -export { default } from '@wantere/eslint-config/next'; +export { default } from '@p2p-local/eslint-config/next'; diff --git a/apps/admin/next.config.ts b/apps/admin/next.config.ts index de8320b..e65cf51 100644 --- a/apps/admin/next.config.ts +++ b/apps/admin/next.config.ts @@ -2,7 +2,7 @@ import type { NextConfig } from 'next'; const config: NextConfig = { reactStrictMode: true, - transpilePackages: ['@wantere/api-client', '@wantere/config', '@wantere/types'], + transpilePackages: ['@p2p-local/api-client', '@p2p-local/config', '@p2p-local/types'], }; export default config; diff --git a/apps/admin/package.json b/apps/admin/package.json index 93aeff7..27aef3b 100644 --- a/apps/admin/package.json +++ b/apps/admin/package.json @@ -1,5 +1,5 @@ { - "name": "@wantere/admin", + "name": "@p2p-local/admin", "version": "0.1.0", "private": true, "license": "MIT", @@ -12,10 +12,10 @@ }, "dependencies": { "@tanstack/react-query": "^5.102.8", - "@wantere/api-client": "workspace:*", - "@wantere/config": "workspace:*", - "@wantere/design-tokens": "workspace:*", - "@wantere/types": "workspace:*", + "@p2p-local/api-client": "workspace:*", + "@p2p-local/config": "workspace:*", + "@p2p-local/design-tokens": "workspace:*", + "@p2p-local/types": "workspace:*", "clsx": "^2.1.1", "next": "^16.3.4", "react": "19.2.3", @@ -27,8 +27,8 @@ "@types/node": "^26.4.1", "@types/react": "^19.2.18", "@types/react-dom": "^19.2.7", - "@wantere/eslint-config": "workspace:*", - "@wantere/typescript-config": "workspace:*", + "@p2p-local/eslint-config": "workspace:*", + "@p2p-local/typescript-config": "workspace:*", "eslint": "^10.10.0", "tailwindcss": "^4.3.3", "typescript": "~6.0.3" diff --git a/apps/admin/src/app/(console)/layout.tsx b/apps/admin/src/app/(console)/layout.tsx index 52d365f..0d4eb5a 100644 --- a/apps/admin/src/app/(console)/layout.tsx +++ b/apps/admin/src/app/(console)/layout.tsx @@ -10,7 +10,7 @@ export default function ConsoleLayout({ children }: { children: ReactNode }) { return (