Run For Better bangladesh
Run Bangladesh is a full-stack mobile application designed to simplify marathon management in Bangladesh. It creates a seamless and engaging experience for all stakeholders by bridging the gap between runners and event organizers.
It enables participants to register, make secure payments, track their runs in real time using GPS, and access multimedia updates. Simultaneously, it provides organizers with tools to manage registrations, routes, leaderboards, payments, volunteers, and analytics through a modern dashboard.
- 💳 Secure Payments: Integrated Stripe API for safe and easy registration payments.
- 📝 Seamless Registration: Quick sign-up process for marathon events.
- 📊 Organizer Dashboard: Tools for managing routes, leaderboards, volunteers, and analytics.
- 🎥 Multimedia Updates: Access photos and videos from the event.
- 📍 Static Event Location: Visible event location accurately on th map.
- 👤 Volunteers Manaagement: Coodinates volunteers assigment for the events.
| Component | Technology |
|---|---|
| Mobile Framework | React Native (Expo Router) |
| Backend Runtime | Node.js |
| Database | MongoDB |
| Payment Gateway | Stripe API |
| Testing | Jest |
This project follows a Client-Server architecture with a clean separation of concerns.
Run-Bangladesh/
├── backend/ # Server-Side Logic
│ ├── src/ # Source Code
│ │ ├── lib/ # Helper functions & Utilities
│ │ ├── middleware/ # Custom middleware (auth, error handling)
│ │ ├── models/ # Mongoose Database Models
│ │ ├── routes/ # API Route Definitions
│ │ └── index.js # Entry point for the server
│ ├── .env # Environment Variables
│ └── package.json # Backend Dependencies
│
├── mobile/ # Client-Side Application
│ └── run-bangladesh/
│ ├── app/ # Expo Router (Screens & Routes)
│ │ ├── (auth)/ # Authentication Group
│ │ ├── (tabs)/ # Main Tab Navigation
│ │ ├── _layout.jsx # Root Layout Config
│ │ └── register.jsx # Registration Screen
│ │
│ ├── assets/ # Static Assets
│ │ ├── fonts/
│ │ ├── images/
│ │ └── styles/
│ │
│ ├── components/ # Reusable UI Components
│ ├── constants/ # App Constants (Colors, URLs)
│ ├── lib/ # Helper Libraries
│ ├── store/ # State Management (Redux/Zustand/Context)
│ ├── app.json # Expo Configuration
│ ├── eas.json # EAS Build Configuration
│ └── package.json # Mobile Dependencies
│
├── .gitignore
└── README.md| Name | Role | |
|---|---|---|
| Saif Mohammed | Project Manager & Team Lead | saif.mohammed@northsouth.edu |
| Humayra Rahman Nipa | Designer & Tester | humayra.nipa@northsouth.edu |
| Sinthia Ahmed Rachona | Software Developer | ahmed.rachona@northsouth.edu |
Follow these instructions to set up the project locally.
- Node.js (v18+)
- MongoDB (Local or Atlas URL)
- Expo Go app on your mobile device
-
Clone the Repo
git clone https://github.com/nipunsaif/Run-Bangladesh.git cd Run-Bangladesh -
Setup Backend
cd backend npm install # Create a .env file with your MONGO_URI and STRIPE_KEYS npm start
-
Setup Mobile App Open a new terminal:
cd mobile/run-bangladesh npm install npx expo start
