From abca2c30cf0e4f93bcba825d3d31e2414fa22c53 Mon Sep 17 00:00:00 2001 From: jayjayesh Date: Tue, 12 May 2026 21:47:20 +0530 Subject: [PATCH 1/2] fix : update CI : actions/upload-artifact@v4 to v6 --- .github/workflows/deploy_android_app.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy_android_app.yml b/.github/workflows/deploy_android_app.yml index c56a306..c9d9417 100644 --- a/.github/workflows/deploy_android_app.yml +++ b/.github/workflows/deploy_android_app.yml @@ -57,7 +57,7 @@ jobs: run: flutter build apk --release - name: Upload APK artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 with: name: app-release-apk path: frontend/instagramflutterapp/build/app/outputs/flutter-apk/app-release.apk From 22a4635226647a67065605c1506dbb51171aa072 Mon Sep 17 00:00:00 2001 From: jayjayesh Date: Tue, 12 May 2026 21:56:49 +0530 Subject: [PATCH 2/2] doc: update Core Features section in README.md for clarity --- README.md | 83 ++++++------------------------------------------------- 1 file changed, 9 insertions(+), 74 deletions(-) diff --git a/README.md b/README.md index 54a4690..2948225 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,15 @@ This repository contains a photo-focused Instagram clone built with a Flutter frontend and a NestJS backend. It is structured as both a working full-stack app and a beginner-friendly learning project, with supporting guides in [`docs/`](docs). +## Core Features + +- User signup, login, and current-user auth flow with JWT +- Photo uploads with optional captions +- Feed retrieval with author, likes, comments, and liked-state +- Like and unlike posts +- Add update delete post/comments +- Native share flow on the Flutter side + ## Stack - Frontend: Flutter, Riverpod, GoRouter, Dio @@ -69,80 +78,6 @@ After running the backend seed: - Email: `student@example.com` - Password: `password123` -## Core Features - -- User signup, login, and current-user auth flow with JWT -- Photo uploads with optional captions -- Feed retrieval with author, likes, comments, and liked-state -- Like and unlike posts -- Add and delete comments -- Delete your own posts and comments -- Native share flow on the Flutter side - -## Request Flow - -### Backend - -1. Controller receives the request. -2. DTO validation checks the payload. -3. JWT guards protect authenticated routes. -4. Service runs business logic. -5. Prisma reads or writes PostgreSQL. -6. JSON response is returned to Flutter. - -### Frontend - -1. Screen collects user input. -2. Riverpod provider calls a repository. -3. Repository uses Dio to call the backend. -4. JWT is attached to protected requests. -5. Provider updates UI state. -6. Widgets rebuild with the latest data. - -## Important Code Areas - -### Backend - -- `backend/src/auth`: signup, login, JWT, current user -- `backend/src/posts`: posts, likes, comments, uploads -- `backend/prisma/schema.prisma`: data model and relationships - -### Frontend - -- `frontend/instagramflutterapp/lib/src/services/auth_service.dart`: auth API calls -- `frontend/instagramflutterapp/lib/src/config/app_config.dart`: Dio and app config -- `frontend/instagramflutterapp/lib/src/features/posts`: feed, upload, likes, comments, share -- `frontend/instagramflutterapp/lib/src/features/home/presentation/screens/home_page.dart`: main feed screen - -## API Overview - -Base path: `/api` - -### Auth - -- `POST /auth/signup` -- `POST /auth/login` -- `GET /auth/me` - -### Posts - -- `POST /posts` -- `GET /posts/feed` -- `DELETE /posts/:id` - -### Likes - -- `POST /posts/:id/like` -- `DELETE /posts/:id/like` - -### Comments - -- `GET /posts/:id/comments` -- `POST /posts/:id/comments` -- `DELETE /comments/:id` - -See [`docs/API.md`](docs/API.md) for example request bodies and auth details. - ## Docs Guide Read these in this order if you are learning or onboarding: