README - IEEE-Team-3/map GitHub Wiki
TeamApp 🚀
TeamApp is a powerful team management platform built with the MERN stack (MongoDB, Express.js, React-Vite, Node.js) using TypeScript and containerized with Docker. It allows any user to create and manage their own teams with deep customization, role-based access, nested team hierarchies, chat, task management, points system, and more.
Originally inspired by IEEE’s team workflows — but designed for all teams.
🌟 Key Highlights
- User-owned Teams — Every user can create, manage, and customize their own teams.
- Nested Teams — Teams can contain sub-teams in a hierarchical structure.
- Fully Customizable Roles — Define permissions, inheritance, and visibility.
- Real-time Chat & Announcements — Team-based channels, DMs, and notifications.
- Tasks & Points System — Assign tasks, give points/bonuses, and track progress.
- Dynamic Leaderboards — Multiple boards based on point types or filters.
- Task Board (Kanban) — Visual task tracking with column permissions.
- Admin & Analytics — Super-admin tools, global settings, and activity logs.
- Search & Filters — Search tasks, users, teams, and filter smartly.
- Future Integrations — Discord, Google Calendar, Webhooks, and more.
🧱 Tech Stack
- Frontend: React + Vite + TypeScript
- Backend: Express.js + Node.js + MongoDB + TypeScript
- Containerization: Docker & Docker Compose
🗂️ Structure
This project is documented and organized in Obsidian, with detailed feature specs, timelines, architecture, and visual maps for planning and tracking development.
📦 Installation (Coming Soon)
- Clone the repository
- Run
docker-compose up
- Access the frontend on
localhost:3000
(default)
📅 Timeline
Planned to be completed within 1 month by a team of 5 developers (1 full-stack, 2 frontend, 2 backend).
👥 Contributors
- Project Lead / Full Stack: Mark Maher (marco5dev)
- Frontend Devs: Dev Andrew Bekhiet, Dev Mohamed Mostafa
- Backend Devs: Dev Omar Mohamed, Dev Youssef Ismail
📘 License
TeamApp is licensed under the Business Source License 1.1 (BUSL-1.1).
- ✅ Free to use for personal or organizational use.
- ❌ Modification, redistribution, or commercial usage of the code is prohibited.
- 🔒 Only the original development team may modify the codebase.
View full license in LICENSE
.
📁 Obsidian TeamApp File Structure
📁 TeamApp
├── 📄 README.md
├── 📄 Vision.md
├── 📄 Timeline.md
├── 📁 Planning
│ ├── 📄 FeaturesList.md
│ ├── 📄 RolesResponsibilities.md
│ ├── 📄 TechStack.md
│ └── 📄 AppArchitecture.md
├── 📁 TeamsSystem
│ ├── 📄 UserOwnedTeams.md
│ ├── 📄 NestedTeamsLogic.md
│ ├── 📄 TeamCreation.md
│ ├── 📄 TeamInvites.md
│ ├── 📄 TeamSettings.md
│ └── 📄 TeamTreeVisualization.md
├── 📁 RolesAndPermissions
│ ├── 📄 RoleDefinitions.md
│ ├── 📄 RolePermissionsMatrix.md
│ ├── 📄 CustomRoleCreation.md
│ └── 📄 RoleInheritance.md
├── 📁 Features
│ ├── 📁 Users
│ │ ├── 📄 UserModel.md
│ │ ├── 📄 AuthLogic.md
│ │ ├── 📄 UserProfile.md
│ │ ├── 📄 GlobalRoles.md
│ │ └── 📄 TeamOwnershipRules.md
│ ├── 📁 Chat
│ │ ├── 📄 ChatModel.md
│ │ ├── 📄 TeamChats.md
│ │ ├── 📄 DMs.md
│ │ ├── 📄 RoleBasedChannels.md
│ │ └── 📄 NotificationsSystem.md
│ ├── 📁 Announcements
│ │ ├── 📄 AnnouncementModel.md
│ │ ├── 📄 AnnouncementPermissions.md
│ │ ├── 📄 RichEditorSupport.md
│ │ └── 📄 SchedulingAndTracking.md
│ ├── 📁 Tasks
│ │ ├── 📄 TaskModel.md
│ │ ├── 📄 TaskAssignment.md
│ │ ├── 📄 SubmissionSystem.md
│ │ ├── 📄 AutoReminders.md
│ │ └── 📄 ReviewerApprovalLogic.md
│ ├── 📁 PointsSystem
│ │ ├── 📄 PointTypes.md
│ │ ├── 📄 AssigningPoints.md
│ │ ├── 📄 BonusPoints.md
│ │ ├── 📄 RoleBasedMultipliers.md
│ │ └── 📄 PointsHistory.md
│ ├── 📁 Leaderboards
│ │ ├── 📄 LeaderboardModel.md
│ │ ├── 📄 PointBasedLeaderboards.md
│ │ ├── 📄 FilteringAndSorting.md
│ │ └── 📄 HighlightingLogic.md
│ ├── 📁 TaskBoard
│ │ ├── 📄 KanbanStructure.md
│ │ ├── 📄 ColumnPermissions.md
│ │ └── 📄 VisualBoardUX.md
│ ├── 📁 AdminPanel
│ │ ├── 📄 AdminAccess.md
│ │ ├── 📄 AnalyticsAndLogs.md
│ │ ├── 📄 GlobalSettings.md
│ │ └── 📄 PermissionsManager.md
│ ├── 📁 Notifications
│ │ ├── 📄 NotificationTriggers.md
│ │ ├── 📄 DeliveryOptions.md
│ │ └── 📄 UserPreferences.md
│ ├── 📁 SearchAndFilters
│ │ ├── 📄 GlobalSearch.md
│ │ └── 📄 TaskAndUserFilters.md
│ └── 📁 Integrations (Future)
│ ├── 📄 Discord.md
│ ├── 📄 GoogleCalendar.md
│ └── 📄 Webhooks.md
├── 📁 Frontend
│ ├── 📄 PagesStructure.md
│ ├── 📄 RoutingLogic.md
│ ├── 📄 ComponentsList.md
│ ├── 📄 UIStateManagement.md
│ └── 📄 ThemeAndUX.md
├── 📁 Backend
│ ├── 📄 MongoSchemas.md
│ ├── 📄 APIEndpoints.md
│ ├── 📄 MiddlewareLogic.md
│ ├── 📄 AccessControl.md
│ └── 📄 DockerIntegration.md
├── 📁 DockerDeployment
│ ├── 📄 Dockerfile.md
│ ├── 📄 docker-compose.yml.md
│ └── 📄 DeploymentChecklist.md
├── 📁 Testing
│ ├── 📄 UnitTests.md
│ ├── 📄 IntegrationTests.md
│ └── 📄 ManualTestingChecklist.md
└── 📁 Canvas
├── 📄 AppMap.canvas
└── 📄 Timeline.canvas