A messaging application that enables users to connect, chat with individual contacts, and participate in group conversations.
This application requires the Messaging App API to function. Refer to the API repository for setup and documentation.
- User Authentication - Secure sign-up and login
- Direct Messaging - One-on-one conversations with contacts
- Group Chats - Create and participate in group conversations
- Contact Management - Add and manage your contacts
- People Discovery - Explore and find other users
- Group Discovery - Browse available groups to join
- User Profiles - View and edit your account information
- Frontend Framework - React 19
- Build Tool - Vite 7
- Routing - React Router DOM 7
- Styling - CSS Modules
- UI Icons - Lucide React
- Testing - Vitest with React Testing Library
- Linting - ESLint
- Deployment - Vercel
- Node.js (v16 or higher)
- npm or yarn package manager
- API server running (see below)
git clone <your-repo-url>
cd messaging-appnpm installCreate a .env file in the root directory:
VITE_API_BASE_URL=http://localhost:3000Replace with your actual API server URL.
npm run devThe app will be available at http://localhost:5173
npm run dev- Start development server with hot reloadnpm run build- Create production buildnpm run preview- Preview production build locallynpm run test- Run tests with Vitestnpm run lint- Lint code with ESLint
src/
├── App Components/ # Main app layout and logic
├── HomePage Components/ # Home page view
├── Chats Components/ # People and group chat views
├── Explore Components/ # Discovery pages for people and groups
├── Account Components/ # User profile and settings
├── ItemContext.jsx # Global context for state management
├── routes.jsx # Route definitions
├── main.jsx # App entry point
└── ErrorPage.jsx # Error handling component
This project is configured for deployment on Vercel:
npm run buildThe build output will be in the dist/ folder, ready for deployment.
FORSAKANG CHOFOR JUNIOR