A social media platform for the Pakistani developer community, combining the best of Instagram and Discord with AI-powered features.
- 📱 Instagram-like clean interface (React Web + Flutter Mobile)
- 🔐 Firebase Authentication
- 📝 Post creation with AI generation (Gemini AI)
- ❤️ Like, comment, and follow system
- 👤 Individual user profiles with levels
- 🏆 Developer levels (Newcomer → Beginner → Intermediate → Expert → Veteran → Grandmaster)
- 🎨 Pakistan-themed sleek design
- 💬 Real-time comments and interactions
- 🔍 User search and discovery
- 📊 User stats and activity tracking
- React 18
- Material-UI (MUI)
- Firebase SDK
- Axios for API calls
- React Router for navigation
- Flutter
- Firebase SDK
- Node.js with Express
- Firebase Admin SDK
- Google Gemini AI
- RESTful API architecture
pakistagram/
├── frontend-web/ # React web app
├── frontend/ # Flutter mobile app
├── backend/ # Node.js API server
├── SETUP.md # Detailed setup guide
└── README.md # This file
git clone https://github.com/Ahmadjamil888/PAKISTAGRAM_social_media.git
cd pakistagramcd backend
npm install
cp .env.example .env
# Add your Gemini API key to .env
npm startcd frontend-web
npm install
npm startcd frontend
flutter pub get
flutter runCreate a .env file in the backend directory:
PORT=3001
GEMINI_API_KEY=your_gemini_api_key_here
FIREBASE_SERVICE_ACCOUNT_KEY=path_to_service_account_key.jsonProject ID: deft-legacy-458411-u4
The app works in demo mode without Firebase Admin SDK, but for full functionality:
- Go to Firebase Console → Project Settings → Service Accounts
- Generate a new private key
- Save the JSON file and update the path in
.env
- Newcomer (0-9 pts) - New users 👤
- Beginner (10-49 pts) - Getting started 🌱
- Intermediate (50-99 pts) - Regular contributors 📈
- Expert (100-499 pts) - Active community members 🥉
- Veteran (500-999 pts) - Experienced developers 🏆
- Grandmaster (1000+ pts) - Top contributors 👑
- Post generation using Google Gemini
- Hashtag suggestions
- Content optimization
- Multiple AI prompt types (code, motivational, tech-news)
- Follow/unfollow users
- Like and comment on posts
- User profiles with stats
- Real-time feed updates
- Search functionality
POST /api/auth/create-profile- Create user profileGET /api/auth/profile- Get current user profilePOST /api/posts- Create a new postGET /api/posts/feed- Get posts feedPOST /api/posts/:id/like- Like/unlike a postPOST /api/posts/:id/comments- Add commentPOST /api/ai/generate-post- Generate AI contentPOST /api/ai/generate-hashtags- Generate hashtags
# Backend (Terminal 1)
cd backend && npm run dev
# Frontend Web (Terminal 2)
cd frontend-web && npm start# Backend
cd backend && npm run build
# Frontend Web
cd frontend-web && npm run build- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License.
For support and questions:
- Create an issue in the GitHub repository
- Check the SETUP.md for detailed setup instructions
Made with ❤️ for the Pakistani Developer Community 🇵🇰