-
Setup and Configuration
- Set up Node.js with Fastify for HTTP layer.
- Set up PostgreSQL for relational database.
- Set up Redis for ranking and caching.
- Integrate Swagger/OpenAPI for API documentation.
- Configure Sentry/Datadog for monitoring metrics.
-
Security and Performance
- Implement JWT authentication for admin access.
- Add rate limiting to prevent abuse.
- Secure endpoints against SQL injection.
- Ensure response times under 200ms
-
Core Features
- Subscription: allow users to register in event with name and email.
- Ensure users can only subscribe once and only during the event's start and end dates.
- Generate unique referral links for subscribers.
- Track direct and indirect referrals for each referral link.
- Display the referral ranking ordered by the number of referrals.
- Allow hosts to filter the referral links ranking by day.
-
Testing
- Write tests with at least 90% coverage.
- Set up continuous integration to run tests and check coverage.
-
Monitoring and Optimization
- Track key metrics (requests per second, system load, response time).
- Send performance data to Sentry/Datadog.
- Optimize database and cache configurations regularly.
-
Documentation and Deployment
- Document API endpoints using Swagger/OpenAPI.
- Set up deployment using Docker.
- Ensure proper security and performance settings in production.