A comprehensive sports team communication and management platform that connects athletes, coaches, and team administrators in one unified space.
- π Landing Page: Modern, responsive homepage with hero section and feature highlights
- π¬ Real-time Messaging: Team chat rooms and direct messaging capabilities
- π Schedule Management: Team events, practices, and game scheduling
- π File Sharing: Document and media sharing for team resources
- π₯ Team Management: Role-based access for players, coaches, and admins
- π¨ Theme Support: Dark/light mode toggle for better user experience
- π± Responsive Design: Mobile-first approach with modern UI components
- Framework: Next.js 14.2.16
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: shadcn/ui + Radix UI
- Icons: Lucide React
- Theme: next-themes for dark/light mode
- Framework: ASP.NET Core 9.0
- Language: C#
- Database: PostgreSQL with Entity Framework Core
- Authentication: JWT Bearer tokens
- API Documentation: Swagger/OpenAPI
TeamTalk/
βββ frontend/ # Next.js frontend application
β βββ app/ # App router pages
β β βββ dashboard/ # User dashboard
β β βββ messages/ # Messaging functionality
β β βββ schedule/ # Team scheduling
β β βββ files/ # File management
β β βββ admin/ # Admin panel
β β βββ ...
β βββ components/ # Reusable UI components
β β βββ ui/ # shadcn/ui components
β β βββ header.tsx # Navigation header
β β βββ ...
β βββ hooks/ # Custom React hooks
β βββ lib/ # Utility functions
β βββ styles/ # Global styles
βββ backend/ # ASP.NET Core API
β βββ TeamTalkApi/
β βββ Controllers/ # API controllers
β βββ DTOs/ # Data transfer objects
β βββ TeamTalk.Core/
β β βββ Entities/ # Database models
β β βββ Services/ # Business logic
β β βββ Interfaces/
β βββ ...
βββ teamtalk-v0/ # v0.dev generated components
- Node.js 18+ and npm
- .NET 9.0 SDK
- PostgreSQL database
cd frontend
npm install --legacy-peer-deps
npm run devcd backend/TeamTalkApi
dotnet restore
dotnet ef database update
dotnet runPOST /api/auth/login- User loginPOST /api/auth/register- User registrationPOST /api/auth/refresh- Refresh JWT token
GET /api/teams- Get user teamsPOST /api/teams- Create new teamGET /api/teams/{id}- Get team details
GET /api/messages/team/{teamId}- Get team messagesPOST /api/messages- Send messageGET /api/messages/direct/{userId}- Direct messages
Key entities include:
- Users: Player/coach profiles and authentication
- Teams: Team information and metadata
- Messages: Chat messages and conversations
- Schedules: Events, practices, and games
- Files: Shared documents and media
Built with modern, accessible components:
- Navigation with responsive design
- Theme toggle (dark/light mode)
- Cards, buttons, forms with consistent styling
- Modal dialogs and dropdowns
- Data tables and calendars
/- Landing page with hero section/dashboard- User dashboard/messages- Team and direct messaging/schedule- Calendar and events/files- File sharing and management/admin- Administrative functions/pricing- Subscription plans/support- Help and contact
npm run dev # Start development server
npm run build # Build for production
npm run lint # Run ESLintdotnet watch run # Start with hot reload
dotnet test # Run tests
dotnet ef migrations add <name> # Create migration- Connect GitHub repository to Vercel
- Set build command:
cd frontend && npm run build - Set output directory:
frontend/.next - Deploy automatically on push to main
- Configure PostgreSQL connection string
- Set JWT secret and other environment variables
- Deploy to cloud provider (Azure, AWS, etc.)
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Martin Lumumba
- GitHub: @Martinlmb3
- Project: TeamTalk
- v0.dev for AI-generated UI components
- shadcn/ui for the component library
- Lucide for beautiful icons
- Tailwind CSS for styling
TeamTalk - Connecting teams, one conversation at a time. π¬π