A modern React-based frontend application for a developer networking platform built with Vite, React, Redux Toolkit, and Tailwind CSS.
- User authentication (Login/Signup)
- User profile management
- Feed with developer cards
- Connection requests management
- View connections
- Premium membership features
- Real-time Chat: 1-on-1 messaging with live updates using Socket.io
- Responsive UI with DaisyUI components
- React 19 - UI library
- Vite - Build tool and dev server
- Redux Toolkit - State management
- React Router DOM - Client-side routing
- Axios - HTTP client
- Socket.io Client - Real-time communication
- Tailwind CSS 4 - Utility-first CSS framework
- DaisyUI - Tailwind CSS component library
- Node.js (v16 or higher)
- npm or yarn
- Backend API running on
http://localhost:3000(for local development)
- Clone the repository
git clone <repository-url>
cd devcfrontend- Install dependencies
npm install-
Configure Environment
The application is configured to automatically switch between localhost and production backends.
- Local Development: Points to
http://localhost:3000 - Production: Points to
https://devconnectbackend-aryy.onrender.com
See
src/utils/constants.jsandsrc/utils/socket.jsfor configuration details. - Local Development: Points to
npm run devStarts the development server at http://localhost:5173
npm run buildCreates an optimized production build in the dist folder
npm run lintRuns ESLint to check code quality
npm run previewPreview the production build locally
The project includes a vercel.json configuration file to handle client-side routing on Vercel.
- Install Vercel CLI or connect your repository to Vercel dashboard.
- Deploy:
vercel
The vercel.json ensures all requests are rewritten to index.html so React Router can handle the paths.
src/
├── components/ # React components
│ ├── Body.jsx # Main layout wrapper
│ ├── Login.jsx # Authentication component
│ ├── NavBar.jsx # Navigation bar
│ ├── Feed.jsx # User feed
│ ├── Profile.jsx # User profile
│ ├── EditProfile.jsx # Profile editing
│ ├── Connections.jsx # User connections
│ ├── Requests.jsx # Connection requests
│ ├── UserCard.jsx # User card component
│ ├── Premium.jsx # Premium features
│ └── Footer.jsx # Footer component
├── utils/ # Utilities and Redux store
│ ├── appStore.js # Redux store configuration
│ ├── userSlice.js # User state management
│ ├── feedSlice.js # Feed state management
│ ├── connectionSlice.jsx # Connections state
│ ├── requestSlice.js # Requests state
│ ├── socket.js # Socket.io connection logic
│ └── constants.js # App constants
├── App.jsx # Main app component with routing
├── main.jsx # App entry point
└── index.css # Global styles
/- Feed page/login- Login/Signup page/profile- User profile/connections- View connections/requests- Manage connection requests/premium- Premium features/chat/:targetUserId- 1-on-1 Chat interface
The app communicates with a backend API. Key endpoints used:
POST /login- User loginPOST /signup- User registration- Additional endpoints for feed, connections, and requests
All API calls include credentials for cookie-based authentication.
Redux Toolkit is used for global state management with the following slices:
- user - Current user data
- feed - User feed data
- connections - User connections
- requests - Connection requests
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a pull request
This project is private and not licensed for public use.