|
From May 6th, 2026, Simutrade will transition to new domains as 🌐 Website: simutrade.faizath.com (formerly simutrade.app) |
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.
- 🔐 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
- 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
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.
- 🏢 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
- Official Competition: Google APAC Solutions Challenge 2025
- Archived Competition Page: Archive Version
This achievement demonstrates SimuTrade's potential to revolutionize global trade simulation and its recognition by leading technology and development organizations.
SimuTrade is built as a modular, microservices-based architecture with three main repositories:
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.
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.
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.
| 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 |
| 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 |
| Technology | Purpose | Description |
|---|---|---|
| MongoDB | Database | NoSQL document database for flexible data storage |
| Mongoose | ODM | Elegant MongoDB object modeling for Node.js |
| 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 |
| Technology | Purpose | Description |
|---|---|---|
| Cloudflare R2 | Object Storage | S3-compatible object storage service |
| node-cloudflare-r2 | R2 Client | Node.js client for Cloudflare R2 storage |
| Technology | Purpose | Description |
|---|---|---|
| Nodemailer | Email Service | Email sending library for Node.js applications |
| Technology | Purpose | Description |
|---|---|---|
| node-latex | PDF Generation | LaTeX to PDF conversion for document generation |
| Technology | Purpose | Description |
|---|---|---|
| Nodemon | Development | Automatic server restart during development |
| dotenv | Environment | Load environment variables from .env file |
-
Clone the API Repository
git clone https://github.com/simutrade-app/simutrade-api.git cd simutrade-api -
Install Dependencies
npm install
-
Environment Configuration
cp template.env .env # Edit .env with your configuration -
Start Development Server
npm run dev
-
Start Production Server
npm start
| Command | Description |
|---|---|
npm start |
Start production server |
npm run dev |
Start development server with auto-restart |
npm install |
Install all dependencies |
- Node.js: Version 18 or higher
- npm: Version 8 or higher
- MongoDB: Database server for data storage
- Environment Variables: Configure
.envfile with required settings
The API is automatically deployed to api.simutrade.app using modern CI/CD pipelines with:
- API Backend: api.simutrade.app
- Frontend: simutrade.app
- AI Services: Integrated with the main platform
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)
We welcome contributions from the community! Here's how you can help:
- Use GitHub Issues to report bugs
- Include steps to reproduce the issue
- Provide system information and error logs
- Submit feature requests via GitHub Issues
- Describe the use case and expected behavior
- Consider the impact on existing functionality
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and add tests
- Run the test suite:
npm test - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- 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
- 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
- Website: simutrade.app
- API Documentation: api.simutrade.app
- Issues: GitHub Issues
- Discussions: GitHub Discussions
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by the SimuTrade Team













