I have developed a Python-based SMTP Mailer App using Tkinter, and I’m now looking to enhance it with a web-based interface built in Django, combined with AWS for cloud-based services. The project involves setting up user authentication, device tracking, and remote management features using Django and AWS.
Django-Based Web Application:
Build a Django web interface to handle user login, registration, and session management. Replace the current Tkinter UI with a more scalable, web-based frontend. The SMTP mailer functionality will be integrated within the web app. User Authentication & Device Management:
Implement user login and authentication using Django’s built-in system or AWS Cognito. Users should be limited to logging in from a maximum of 4 devices. If a 5th login is attempted, the user should be denied access. Track device and session data in AWS (using services like DynamoDB or RDS). Build a feature for an admin to remotely log out users from active sessions or reset their devices if necessary.
Admin Dashboard:
Develop an admin dashboard in Django where I can: View and manage active user sessions. Log users off remotely if they are stuck. The admin interface should be easy to use and fully integrated with the AWS cloud services to handle data storage and tracking.
Use AWS CloudWatch to log and monitor user activity, generate alerts if users exceed device limits, and track unusual login attempts. Set up AWS EC2 or Elastic Beanstalk to host the Django app and ensure it is accessible globally with low latency. Use AWS Lambda for handling certain backend tasks, such as logging users out remotely.
Logging and Monitoring:
Track login attempts and session data in AWS CloudWatch and set up alerts for unauthorized access or exceeding device limits.