A real-time collaborative workspace application for forex trading, built with the MERN stack and Socket.io.
- 🔐 JWT-based Authentication
- 💬 Real-time Chat Channels
- 📊 Live Forex Price Updates
- 👥 Role-based Access Control
- 🔔 Real-time Notifications
- 📱 Responsive Design
- Frontend: React.js
- Backend: Node.js, Express.js
- Database: MongoDB
- Real-time Communication: Socket.io
- Authentication: JWT
- Node.js (v14 or higher)
- MongoDB
- npm or yarn
- Clone the repository:
git clone https://github.com/BTC415/Real-time-Forex-MERN.git
cd Real-time-Forex-MERN
- Install dependencies:
cd server && npm install
cd ../src && npm install
- Set up environment variables:
VITE_API_URL=http://localhost:3001/
VITE_CLIENT_URL=http://localhost:5173/
MONGODB_URI=
JWT_SECRET=your_jwt_secret_key
PORT=3001
- Start the backend server:
cd server && npm start
- Start the frontend development server:
cd src && npm run dev
- POST
/api/auth/register
- Register new user - POST
/api/auth/login
- User login - GET
/api/auth/validate
- Validate JWT token - PUT
/api/auth/update
- Update user profile
- Admin: Full access, can manage channels
- Trader: Access to trading channels and chat
- Guest: Limited access to public channels
- EUR/USD
- GBP/USD
- USD/JPY
- USD/CHF
- Password hashing with bcrypt
- JWT token authentication
- Role-based access control
- Secure API endpoints
- Fork the repository
- Create your feature branch (git checkout -b feature/AmazingFeature)
- Commit your changes (git commit -m 'Add some AmazingFeature')
- Push to the branch (git push origin feature/AmazingFeature)
- Open a Pull Request
This project is licensed under the LICENSE - see the LICENSE file for details.