Skip to content

simutrade-app/simutrade-api

Repository files navigation

📢 Domain & Email Migration Notice

From May 6th, 2026, Simutrade will transition to new domains as simutrade.app will not be renewed:

🌐 Website: simutrade.faizath.com (formerly simutrade.app)
⚙️ API: simutrade-api.faizath.com (formerly api.simutrade.app)
📧 Email: contact@simutrade.faizath.com (formerly contact@simutrade.app)
🛰️ CDN: simutrade-cdn.faizath.com (formerly cdn.simutrade.app)
📈 Status Pages: https://status.faizath.com/status/simutrade (formerly status.simutrade.app)

SimuTrade Logo

🚀 SimuTrade API

AI-Powered Trade Supply Chain Simulation Backend API

Google APAC Solutions Challenge Top 10 Finalist

🌐 Live Demo🔗 API📊 Status🏆 Achievement📁 Repositories🛠️ Tech Stack

🌟 What is SimuTrade API?

SimuTrade API is the robust backend service that powers the SimuTrade platform, providing RESTful APIs, real-time WebSocket communications, and AI-powered trade analysis. Built with Node.js and Express, it handles user authentication, data processing, and seamless integration with AI services for comprehensive trade supply chain simulation.

✨ Key Features

  • 🔐 Secure Authentication: JWT-based authentication with Google OAuth2 integration
  • 🌐 RESTful APIs: Comprehensive API endpoints for trade data, user management, and analytics
  • 🔄 Real-time Communication: WebSocket support for live trade simulation updates
  • 🤖 AI Integration: Seamless connection with AI services for trade pattern analysis
  • 📊 Data Processing: Advanced data processing and analytics capabilities
  • 📧 Email Services: Automated email notifications and verification
  • 🗄️ Database Management: MongoDB integration for scalable data storage
  • 📄 PDF Generation: Dynamic PDF report generation for trade analysis
  • ☁️ Cloud Storage: Cloudflare R2 integration for file storage and management

🎯 API Capabilities

  • User Management: Registration, authentication, and profile management
  • Trade Simulation: Real-time trade scenario processing and analysis
  • Data Analytics: Comprehensive trade data processing and insights
  • File Management: Secure file upload, storage, and retrieval
  • Report Generation: Dynamic PDF and document generation
  • AI Chat Integration: RAG-powered chat endpoints for trade insights
  • Agent Services: Custom AI agent endpoints for specialized trade analysis

🏆 Competition Achievement

🥇 Google APAC Solutions Challenge 2025 - Top 10 Finalist

SimuTrade was selected as a Top 10 Finalist in the prestigious Google APAC Solutions Challenge 2025 hackathon! Our team ITBebas had the incredible opportunity to travel to the Philippines and present our solution at the Asian Development Bank Headquarters.

Top 10 Google APAC Solutions Challenge

SimuTrade recognized as Top 10 Finalist in Google APAC Solutions Challenge 2025

🌟 Our Journey

  • 🏢 Google Philippines Office Visit: Our team had the privilege of visiting Google's Philippines office, experiencing the innovative culture and meeting with Google engineers
  • 🏛️ Asian Development Bank Presentation: We presented SimuTrade at the Asian Development Bank Headquarters, showcasing our AI-powered trade simulation platform to industry experts
  • 🎯 Top 10 Achievement: While we didn't reach the Top 3, being selected as a Top 10 finalist was an incredible honor and validation of our solution's potential
  • 🤝 Networking & Learning: The experience provided invaluable networking opportunities and insights into the future of trade technology

📚 Competition Resources

Google Philippines Office Visit Top 3 Awarding at Asian Development Bank

Our team at Google Philippines Office and the awarding ceremony at Asian Development Bank

This achievement demonstrates SimuTrade's potential to revolutionize global trade simulation and its recognition by leading technology and development organizations.

🏗️ Repository Architecture

SimuTrade is built as a modular, microservices-based architecture with three main repositories:

📱 Frontend Repository

Repository: simutrade-app/simutrade-fe
Live URL: simutrade.app
Description: Modern React-based user interface with TypeScript, featuring interactive dashboards, real-time maps, and AI-powered analytics.

🔧 API Backend Repository (This Repository)

Repository: simutrade-app/simutrade-api
Live URL: api.simutrade.app
Description: RESTful API server handling business logic, data processing, user authentication, and real-time WebSocket communications.

🧠 AI & RAG Backend Repository

Repository: simutrade-app/simutrade-ai
Description: Specialized AI service providing machine learning models, natural language processing, trade pattern recognition, and intelligent recommendations using Retrieval-Augmented Generation (RAG) techniques.

🛠️ Tech Stacks

🚀 Backend Framework & Core

Technology Purpose Description
Node.js Runtime JavaScript runtime for server-side development
Express.js Web Framework Fast, unopinionated web framework for Node.js
CommonJS Module System Standard module system for Node.js applications

🔐 Authentication & Security

Technology Purpose Description
JWT (jsonwebtoken) Authentication JSON Web Token implementation for secure authentication
Passport.js Authentication Strategy Authentication middleware for Node.js
Passport Google OAuth2 OAuth Integration Google OAuth2 strategy for Passport.js
bcrypt Password Hashing Secure password hashing and verification
Express Session Session Management Session middleware for Express applications

🗄️ Database & Data Management

Technology Purpose Description
MongoDB Database NoSQL document database for flexible data storage
Mongoose ODM Elegant MongoDB object modeling for Node.js

🌐 HTTP & API

Technology Purpose Description
Body Parser Request Parsing Parse incoming request bodies in middleware
CORS Cross-Origin Enable Cross-Origin Resource Sharing
Express Web Server Web application framework for Node.js

☁️ Cloud Services & Storage

Technology Purpose Description
Cloudflare R2 Object Storage S3-compatible object storage service
node-cloudflare-r2 R2 Client Node.js client for Cloudflare R2 storage

📧 Communication & Notifications

Technology Purpose Description
Nodemailer Email Service Email sending library for Node.js applications

📄 Document Generation

Technology Purpose Description
node-latex PDF Generation LaTeX to PDF conversion for document generation

🛠️ Development Tools

Technology Purpose Description
Nodemon Development Automatic server restart during development
dotenv Environment Load environment variables from .env file

⚙️ Installation & Setup

🚀 Quick Start

  1. Clone the API Repository

    git clone https://github.com/simutrade-app/simutrade-api.git
    cd simutrade-api
  2. Install Dependencies

    npm install
  3. Environment Configuration

    cp template.env .env
    # Edit .env with your configuration
  4. Start Development Server

    npm run dev
  5. Start Production Server

    npm start

📋 Available Scripts

Command Description
npm start Start production server
npm run dev Start development server with auto-restart
npm install Install all dependencies

🔧 Development Requirements

  • Node.js: Version 18 or higher
  • npm: Version 8 or higher
  • MongoDB: Database server for data storage
  • Environment Variables: Configure .env file with required settings

🌐 Production Deployment

The API is automatically deployed to api.simutrade.app using modern CI/CD pipelines with:

📊 System Status

Monitor the real-time status of all SimuTrade services:

  • Status Page: status.simutrade.app
  • Services Monitored:
    • 🌐 SimuTrade Web (simutrade.app)
    • 🔗 SimuTrade API (api.simutrade.app)
    • 🤖 SimuTrade AI
    • 🗄️ SimuTrade MongoDB
    • 📡 SimuTrade CDN (cdn.simutrade.app)

🤝 Contributing

We welcome contributions from the community! Here's how you can help:

🐛 Bug Reports

  • Use GitHub Issues to report bugs
  • Include steps to reproduce the issue
  • Provide system information and error logs

💡 Feature Requests

  • Submit feature requests via GitHub Issues
  • Describe the use case and expected behavior
  • Consider the impact on existing functionality

🔧 Development Setup

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and add tests
  4. Run the test suite: npm test
  5. Commit your changes: git commit -m 'Add amazing feature'
  6. Push to the branch: git push origin feature/amazing-feature
  7. Open a Pull Request

📋 Code Standards

  • Follow Node.js and Express.js best practices
  • Use proper error handling and logging
  • Write comprehensive tests for new features
  • Update API documentation as needed

🏆 Acknowledgments

  • Node.js Team for the amazing runtime
  • Express.js Team for the robust web framework
  • MongoDB Team for the flexible database solution
  • All Contributors who help make SimuTrade better

📞 Support & Contact

📝 License

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


Made with ❤️ by the SimuTrade Team

🌐 Visit SimuTrade👥 Our Organization⭐ Star this repo

Contributors