Overview
Developed the backend using NestJS, TypeORM, PostgreSQL, Redis, and TypeScript, alongside a mobile application with React Native, integrating secure APIs and real-time features. Managed deployment servers with Nginx, configured domain names, ensured server security, and optimized performance.
Key Features
- Survey Creation and Management: Allows admins to create, update, and manage surveys, including setting titles, descriptions, target audiences, and pricing.
- Region-Based Targeting: Enables surveys to be targeted to specific geographic regions (Wilayas) within Algeria.
- Collector Management: Provides tools for managing collectors, including status verification and profile updates.
- Real-time Location Tracking: Uses collector location data to assign relevant surveys based on proximity.
- Create a nominatim library to manage location searching and reverse geocoding.
- Diffrent qusetion types: Supports multiple question types, including multiple-choice with others , free , radio ,etc...
- Survey Assignment and Filtering: Implements logic to assign surveys to collectors based on their location and survey status (active, paused, completed).
- Role-Based Access Control: Implements different roles (admin, collector, company) with associated permissions.
- Data Analytics and Reporting: Includes features for counting surveys, tracking survey status, and calculating response rates.
- Payment and Transaction Management: Supports payment processing and transaction tracking for collectors.
- Reports : Allow user to send reports and manage them.
- Fraud Detection: Implements mechanisms to detect and prevent fraudulent activities and submissions by collectors.
- Authentication and Authorization: Implements secure login and registration processes for different user roles.
- Detailed Statistics: Provides in-depth statistics on surveys, collectors, and responses for better decision-making.
- Email Notifications: Sends email notifications for various events, such as account verification and demo requests.
- Collector Referral System: Implements a referral system for collectors to invite others and earn rewards.
- Company Referral System: Enables companies to refer their collectors to Survision.
- Company Profile Management: Allows companies to manage their profiles, including company size, contact information, and website details.
- API Documentation with Swagger: Uses Swagger to document and expose the API endpoints.
Technical Challenges
- Ensuring accurate location data and survey assignment.
- Maintaining data privacy and security, especially regarding user location and personal information.
- Scaling the platform to handle a large number of surveys, collectors, and responses.
- Optimizing database queries for performance, especially when filtering surveys by Wilaya and status.
- Handling potential conflicts when adding Wilayas to surveys.
- Implementing robust error handling and logging.
- Managing collector verification and status updates.
- Integrating with external services for location data and payment processing.
- Creating a user-friendly interface for survey creation and management.
- Keeping the application up-to-date with the latest security patches and best practices.
Aug 2024
Technologies Used
TypeScriptJavaScriptHTMLCSSNext.jsReact.jsReact NativeTailwindCSSFramer MotionZustandTanStack QueryReact Hook FormZodAxiosNest.jsTypeORMNominatimPostgresqlRedisMinioS3CoolifyDockerCpanelNginxGraphanaLokiPromtail
Client Feedback
"aceiny's commitment to excellence and innovative approach significantly enhanced our platform's performance and user experience. His contributions have been invaluable to Survision's success"
Abdelbasset Meghraoui,
Founder & CEO of Survision