A comprehensive platform for tracking brand activations, measuring campaign ROI, and managing customer engagements.
Ipanema Brand Tracker is a full-stack application designed to help marketing teams measure and optimize the ROI of their brand activation campaigns. It provides tools for managing campaigns, tracking events, monitoring customer engagement, implementing gamification strategies, and analyzing marketing performance.
This platform is optimized for cost-effective API usage and performance through comprehensive caching strategies, request optimization, and user-configurable data-saving features. Check out OPTIMIZATIONS.md for a detailed breakdown of the performance features implemented.
- User Management: Role-based access control (Super Admin, Admin, Brand Manager, Staff)
- Brand Management: Create and manage multiple brands
- Campaign Management: Plan, execute, and track marketing campaigns
- Event Tracking: Manage physical and virtual brand activation events
- Participant Engagement: Register participants and track their interactions
- Gamification: Implement points, badges, and rewards systems
- Analytics & Reporting: Visualize campaign performance and ROI
- Retargeting: Create follow-up marketing campaigns based on engagement data
- Real-time Updates: Monitor events and engagement in real-time
- Next.js 14 with TypeScript
- Redux Toolkit & React Query
- TailwindCSS
- Chart.js for data visualization
- Express.js with TypeScript
- Prisma ORM with PostgreSQL
- JWT Authentication
- Socket.IO for real-time updates
- Docker & Docker Compose
- Nginx for load balancing
- Redis for caching
- Prometheus & Grafana for monitoring
- Docker and Docker Compose
- Node.js 18+ (for local development)
- PostgreSQL 15+ (if running databases locally)
The easiest way to get started is using the provided setup script:
# Make the script executable if it's not already
chmod +x setup-test-environment.sh
# Run the setup script
./setup-test-environment.sh
This will:
- Start all services with Docker Compose
- Run database migrations
- Seed the database with test data
- Provide access information for the various components
cd backend
# Install dependencies
npm install
# Generate Prisma client
npm run prisma:generate
# Run migrations
npm run prisma:migrate
# Seed the database
npm run prisma:seed
# Start the server
npm run dev
cd frontend
# Install dependencies
npm install
# Start the development server
npm run dev
The seed script creates the following test accounts:
Password | Role | |
---|---|---|
[email protected] | Password123! | SUPER_ADMIN |
[email protected] | Password123! | ADMIN |
[email protected] | Password123! | BRAND_MANAGER |
[email protected] | Password123! | STAFF |
- Architecture Documentation: Detailed system architecture
- Testing Guide: Comprehensive testing instructions
- API Documentation: Backend API reference (TBD)
For testing on mobile devices like iPhone:
-
Local Network Testing:
- Find your computer's local IP address
- Update the environment configuration to use this IP
- Connect your mobile device to the same network
- Access the application via your computer's IP address
-
Using Ngrok:
- Install ngrok:
brew install ngrok
- Run:
ngrok http 80
- Access the generated URL from your mobile device
- Install ngrok:
-
Branch Strategy:
main
- Production-ready codedev
- Integration branch for featuresfeature/*
- Individual feature branches
-
Testing:
- Write unit tests for business logic
- Use integration tests for API endpoints
- Conduct UI testing for critical user flows
-
Deployment:
- Build Docker images
- Use Docker Compose for local/staging deployments
- CI/CD pipeline for automated testing and deployment (TBD)
ISC License
For questions about this project, please contact Ipanema Media.