A SURVEYSKY Website Using react and Firebase
Project Overview:
website feature
User Authentication with JWT: Secure login and registration using JWT tokens, stored in local storage for authentication across the application.
Payment Integration: Integration of payment functionalities to allow users to purchase premium features or survey credits.
Role-Based Access Control: Implementation of a robust user management system with different roles (Admin, User) and permissions for accessing various features.
Admin Dashboard: A comprehensive admin dashboard for managing users, surveys, payments, and system settings.
Real-Time Notifications: Use of sweet alerts and toasts for CRUD operations, successful logins, and sign-ups, ensuring a smooth user experience without relying on default browser alerts.
Responsive Design: Ensuring that the application is fully responsive and works seamlessly on mobile, tablet, and desktop devices, including the admin dashboard.
Private Route Handling: Ensuring users stay on private routes after reloading the page without being redirected to the login page.
Survey Voting and Results Analysis: Users can participate in surveys, and results can be analyzed with charts and graphs to provide insights.
Environment Variable Security: Securely handling sensitive information such as Firebase config keys and MongoDB credentials using environment variables.
Data Fetching with TanStack Query: Efficiently manage data fetching using TanStack Query for all GET requests, providing optimized data synchronization, caching, and background updates.
User Interaction and Feedback: Implement features for user interaction, such as commenting on surveys, rating surveys, and providing feedback, enhancing user engagement and community building within the platform.
React js
Javascript
Firebase
Jwt
axios
TanStack Query
Stripe-js
Flowbite