πΉ Production Version
Click here to access the live production version
πΉSocial Network is a modern social networking platform built with React, focusing on performance, security, and an interactive user experience. The application supports user registration with validation, password reset via unique email token, real-time chat, and notifications via SSE.
πΉ Login & Signup
PC Login & Signup | Mobile Login & Signup |
---|---|
πΉ Dashboard & Chat
PC Dashboard | Mobile Dashboard |
---|---|
β
Authentication & Authorization β Registration, login, validation, and password reset via email token.
β
State Management & Hooks β Utilizing useState
, useEffect
, useRef
, useCallback
.
β
API Communication β Managed via Axios
.
β
Real-Time Updates β Notifications and messaging using SSE (Server-Sent Events).
β
Advanced UI β Styled with MUI, Bootstrap, Tailwind, SweetAlert.
β
Image Upload β Implemented with Dropzone.
β
Popups & Notifications β Handled using SweetAlert.
β
Custom CSS per page β Unique styling for each screen.
β
Lazy Loading for Images β Optimized performance with image lazy loading.
β
Scrolling Support β Smooth scrolling experience.
β
Emoji Support β Users can send emojis in messages.
β
User Navigation β Navigate to user profiles from comments, likes, followers, and search.
β
User Search by Name β Find users quickly.
β
Social Interactions β Like, comment, follow, and send messages.
β
Easy Password Reset & Account Deletion β Users can change their password or delete their account directly from settings.
β
Activity Notifications β Users receive real-time updates on likes, follows, and comments on their posts.
π Frontend: React, JavaScript
π¨ Styling: Tailwind CSS, Material UI, Bootstrap
π State Management: Hooks (useState
, useEffect
, useCallback
, useRef
)
π Networking: Axios
π Authentication: JWT, Email Token Reset
π‘ Real-Time Updates: SSE
π CI/CD: GitHub Actions (Deploy to GitHub Pages)
# Enter Utils
change URL_SERVER_PRODUCTION to URL_SERVER_LOCAL
# Clone repository
git clone https://github.com/yakov152005/social-network-client.git
cd social-network-client
# Install dependencies
npm install
# Run development server
npm start
π .github
βββ π workflows # CI/CD pipeline using GitHub Actions (deploy-react.yml)
π src
βββ π components # Global components (ManagerRoute, NavBar, Footer, Forms, Popups, and more..)
βββ π pages # Application pages (Home, Dashboard, Profile, Settings, and more..)
βββ π api # API calls with Axios and validate token
βββ π css # Custom styles for each page
βββ π utils # Common utility functions and final variables
βββ π assets # Images, icons, static files
βββ π App.js # Main application entry point
The application uses Axios
for API communication and manages user authentication using JWT Tokens.
import axios from 'axios';
const API_URL = 'https://your-api-url.com/api';
export const login = async (email, password) => {
const response = await axios.post(`${API_URL}/auth/login`, { email, password });
return response.data;
};
π Framer Motion and react-icons
are used for smooth animations.
π Page transitions are handled with React Router.
π UI Styling via Tailwind CSS, Bootstrap, MUI, and more..
The project includes a complete CI/CD pipeline with GitHub Actions, enabling:
π Automatic deployment to GitHub Pages (deploy-react.yml
).
β
Automated tests before merging pull requests.
π JWT with Expiration
π¦ Rate Limiting on API Calls
π Hash & Salt for Passwords
π‘ CORS & Helmet for Server Protection
π [ ] Video Upload Support in Chat π₯
π [ ] AI-Based Content Moderation π€
π [ ] Advanced User Notification System π’
π‘ Contributions are welcome via Pull Requests. Feel free to reach out via email: π§ [email protected]
π Enjoy the Social Network Experience! π