This project is a comprehensive Android application integrated with a Spring Boot backend to manage users and authentication securely. The application demonstrates the integration of modern technologies, ensuring a seamless user experience and robust security measures.
- User Management:
- User registration
- Login and logout functionality
- Password recovery via OTP (One-Time Password)
- Authentication:
- JWT (JSON Web Tokens) for secure authentication and session management
- User Interface:
- Three primary fragments for navigation:
- Home: Displays JWT tokens and user-related data
- Users: Lists all users in the system
- Settings: Allows account customization and management
- Three primary fragments for navigation:
- Secure Backend:
- Built with Spring Boot and secured using Spring Security
- Language: Java
- HTTP Client: Retrofit for API integration
- UI Design: Android Fragments
- Frameworks:
- Spring Boot for REST API development
- Spring Security for authentication and authorization
- Database: MySQL
- Token Management: JWT
- Email Integration: Java Mail Sender for OTP-based password recovery
- Java Development Kit (JDK): Version 11 or higher
- Android Studio: Latest stable version
- Spring Boot: Compatible environment with Maven or Gradle
- Database: Set up a compatible database (e.g., MySQL)
- API Client Tools: Postman or equivalent for testing APIs
- Clone the repository:
git clone <https://github.com/Eshwar863/SpringSecurityApp.git>
- Navigate to the backend directory:
cd backend
- Configure the application:
- Update
application.properties
orapplication.yml
with your database and email settings.
- Update
- Build and run the Spring Boot application:
mvn spring-boot:run
- Test the APIs using Postman or Swagger UI (if configured).
- Open the project in Android Studio.
- Update the
base_url
in Retrofit configuration to point to your backend. - Build and run the application on an emulator or physical device.
- User Registration: Sign up as a new user.
- Login: Authenticate using your credentials.
- JWT Authentication: Access secure features using generated JWT tokens.
- Password Recovery: Reset your password via OTP sent to your email.
- Navigation: Switch between Home, Users, and Settings fragments for respective functionalities.
- Real-time Notifications
- Admin Panel for Advanced Management
- Payment Gateway Integration
- Analytics Dashboard
You can download the APK from the link below: