Skip to content

A real-time collaborative workspace application for forex trading, built with the MERN stack (MongoDB, Express.js, React.js, Node.js) and Socket.io. The project aims to provide a secure and feature-rich platform for forex traders to collaborate, communicate, and access live forex price updates.

License

Notifications You must be signed in to change notification settings

RealTimeChatApplication/Real-time-Forex-MERN

Repository files navigation

Real-time-Forex-MERN

A real-time collaborative workspace application for forex trading, built with the MERN stack and Socket.io.

Features

  • 🔐 JWT-based Authentication
  • 💬 Real-time Chat Channels
  • 📊 Live Forex Price Updates
  • 👥 Role-based Access Control
  • 🔔 Real-time Notifications
  • 📱 Responsive Design

Tech Stack

  • Frontend: React.js
  • Backend: Node.js, Express.js
  • Database: MongoDB
  • Real-time Communication: Socket.io
  • Authentication: JWT

Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • MongoDB
  • npm or yarn

Installation

  1. Clone the repository:
git clone https://github.com/BTC415/Real-time-Forex-MERN.git
cd Real-time-Forex-MERN
  1. Install dependencies:
cd server && npm install
cd ../src && npm install
  1. 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

Running the Application

  1. Start the backend server:
cd server && npm start
  1. Start the frontend development server:
cd src && npm run dev

API Endpoints

Authentication

  • 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

User Roles

  • Admin: Full access, can manage channels
  • Trader: Access to trading channels and chat
  • Guest: Limited access to public channels

Available Currency Pairs

  • EUR/USD
  • GBP/USD
  • USD/JPY
  • USD/CHF

Security Features

  • Password hashing with bcrypt
  • JWT token authentication
  • Role-based access control
  • Secure API endpoints

Contributing

  • 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

License

This project is licensed under the LICENSE - see the LICENSE file for details.

About

A real-time collaborative workspace application for forex trading, built with the MERN stack (MongoDB, Express.js, React.js, Node.js) and Socket.io. The project aims to provide a secure and feature-rich platform for forex traders to collaborate, communicate, and access live forex price updates.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published