A modern, full-featured social media platform built with Next.js, React, and GraphQL.
- User Authentication - Secure login and signup with Supabase
- Dynamic Feed - Real-time posts with like, comment, and share functionality
- Multi-View Navigation - Home, Explore, Notifications, Messages, and Profile views
- Post Creation - Rich text editor with media upload support
- Draft System - Save posts as drafts for later
- News Integration - Latest news feed from NewsData.io API
- User Discovery - "Who to follow" recommendations
- Responsive Design - Mobile-first approach with TailwindCSS
- Dark Mode - Full dark mode support
Frontend:
- Next.js 15.5.4
- React 19.1.1
- TailwindCSS 3.3.3
Backend & Data:
- Supabase (Authentication & Database)
- GraphQL with Apollo Client
- NewsData.io API
Development:
- GraphQL Code Generator
- ESLint
- PostCSS
- Node.js 18+ installed
- Supabase account
- NewsData.io API key (optional, for news feed)
- Clone the repository:
git clone https://github.com/debugging17/alx-project-nexus.git
cd alx-project-nexus- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env.localEdit .env.local and add your credentials:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
NEXT_PUBLIC_SUPABASE_GRAPHQL_URL=your_graphql_endpoint
NEWSDATA_API_KEY=your_newsdata_api_key- Run the development server:
npm run devOpen http://localhost:3000 to view the app.
alx-project-nexus/
├── components/ # Reusable React components
├── lib/ # Utilities and configurations
│ ├── apolloClient.js # Apollo Client setup
│ ├── supabaseClient.js # Supabase client
│ └── graphql/ # GraphQL queries and generated types
├── pages/ # Next.js pages
│ ├── api/ # API routes
│ ├── dashboard.js # Main dashboard
│ ├── index.js # Login page
│ └── signup.js # Registration page
├── public/ # Static assets
└── styles/ # Global styles
npm run dev- Start development servernpm run build- Build for productionnpm start- Start production servernpm run lint- Run ESLintnpm run codegen- Generate GraphQL types
This app is ready to deploy on Vercel, Netlify, or any platform that supports Next.js.
Make sure to set all required environment variables in your deployment platform.
This project is part of the ALX ProDev Frontend Engineering Program.
debugging17
- GitHub: @debugging17
- ALX ProDev Frontend Engineering Program
- Supabase for backend infrastructure
- NewsData.io for news API