Comprehensive API for Android/iOS App Authentication
Budget: ₹1,500 – ₹12,500 INR
We are seeking a skilled CodeIgniter 4 developer to create a robust API for user registration, login, and additional authentication features in our Android and iOS applications. The primary authentication method will be based on mobile numbers and OTP (One-Time Password). Additionally, we want to implement a referral code system, allowing users to input or receive referral codes during registration.
Key Features:
User Registration/Login:
Allow users to register and login using their mobile number.
Combine registration and login into a single endpoint, where the user is registered if not already registered or logged in if already registered.
Generate and send a one-time password (OTP) to the registered mobile number.
Optionally allow users to input a referral code during registration.
Store the user's mobile number, hashed password, temporary OTP, and referral code in the database.
User Logout:
Provide an endpoint for users to log out and invalidate the authentication token.
OTP Resend:
Provide an endpoint to resend the OTP to the user's mobile number.
Token Refresh:
Implement an endpoint for users to refresh their authentication token without re-entering credentials.
Referral Code Handling:
Allow users to input a referral code during registration.
Generate unique referral codes for each registered user.
Store referral codes and their associated users in the database.
Provide an endpoint to retrieve the user associated with a given referral code.
Technical Requirements:
CodeIgniter 4 for API development.
Database schema for user information (e.g., users table with fields: id, mobile_number, password, otp, referral_code).
Proper error handling and response messages.
Token-based authentication for secure user sessions.
Security Considerations:
Validate and sanitize input data to prevent injection attacks.
Use HTTPS to secure data transmission.
Implement rate limiting for authentication requests.
Deliverables:
Well-documented API endpoints with usage examples.
Codebase with inline comments for better understanding.
Database schema documentation.
Timeline:
The project should be completed within 24 hours, with periodic updates on the progress.
Feel free to ask for clarification on any aspect of the project. We appreciate detailed documentation and adherence to coding best practices.
Key Features:
User Registration/Login:
Allow users to register and login using their mobile number.
Combine registration and login into a single endpoint, where the user is registered if not already registered or logged in if already registered.
Generate and send a one-time password (OTP) to the registered mobile number.
Optionally allow users to input a referral code during registration.
Store the user's mobile number, hashed password, temporary OTP, and referral code in the database.
User Logout:
Provide an endpoint for users to log out and invalidate the authentication token.
OTP Resend:
Provide an endpoint to resend the OTP to the user's mobile number.
Token Refresh:
Implement an endpoint for users to refresh their authentication token without re-entering credentials.
Referral Code Handling:
Allow users to input a referral code during registration.
Generate unique referral codes for each registered user.
Store referral codes and their associated users in the database.
Provide an endpoint to retrieve the user associated with a given referral code.
Technical Requirements:
CodeIgniter 4 for API development.
Database schema for user information (e.g., users table with fields: id, mobile_number, password, otp, referral_code).
Proper error handling and response messages.
Token-based authentication for secure user sessions.
Security Considerations:
Validate and sanitize input data to prevent injection attacks.
Use HTTPS to secure data transmission.
Implement rate limiting for authentication requests.
Deliverables:
Well-documented API endpoints with usage examples.
Codebase with inline comments for better understanding.
Database schema documentation.
Timeline:
The project should be completed within 24 hours, with periodic updates on the progress.
Feel free to ask for clarification on any aspect of the project. We appreciate detailed documentation and adherence to coding best practices.