Full Time
Building a Basic Subscription Model for a SaaS using Laravel 10 & MySQL
Overview
Build a subscription management system for a Software as a Service (SaaS) platform using Laravel 10 and MySQL. The system should support three tiers of subscriptions: Silver (Free), Gold (Paid), and Platinum (Paid).
Subscription Tiers:
- Silver (Free):
- Free-tier access with limited features.
- Gold (Paid):
- Subscription cost: 2499.00 INR
- Enhanced features compared to the Silver tier.
- Paid subscription using the Razorpay payment gateway.
- Platinum (Paid):
- Subscription cost: 9999.00 INR
- Premium features compared to the Silver and Gold tiers.
- Paid subscription using the Razorpay payment gateway.
Requirements:
- Design and implement the database schema to manage subscriptions.
- Create Laravel models, controllers, and routes for handling subscriptions.
- Develop endpoints to:
- View available subscription tiers.
- Allow users to subscribe or upgrade/downgrade their subscription tiers.
- Handle payments using the Razorpay payment gateway.
- Implement necessary validation and error handling for subscription-related operations.
- Ensure user authentication and authorization mechanisms are in place.
- Write clear and concise code with appropriate comments and documentation.
Additional Guidelines:
- Use Laravel's built-in features for authentication and middleware for route protection.
- Follow Laravel best practices and coding standards.
- Use MySQL as the database for storing subscription-related data.
- Maintain proper error handling and user feedback during subscription processes.
- Provide clear instructions on how to test the subscription functionality.
Submission:
- Share the source code via a GitHub repository.
- Include all the necessary setup instructions.
Note:
- Focus on functionality over design aesthetics.
- Ensure security measures are in place, especially for payment-related operations.
- Keep the application scalable and maintainable.
Deadline:
- Complete the task by January 05, 2024.