Skip to content

A13: Users

Making this User Friendly
Week 14 Assignment – Due 4/16/2024 – Beginning of Class
50 points

Overview:
Assignment 13 focuses on adding user management to your Flask web application without using the Flask-Login library. This task involves manually implementing functionalities for user authentication and session management. You will create a system that handles user registration, login, logout, and ensures secure session handling. This addition is essential for personalizing user experiences, securing the application, and managing access to specific features based on user status.

Objectives:
  • Develop a custom user authentication and session management system in Flask.
  • Create user registration and login interfaces that interact with the MySQL database.
  • Implement secure handling of user sessions and access control within the application.

Deliverables:
  1. User Authentication System
    • Description: Build a user authentication system that includes user registration, login, and logout functionalities. This system should securely handle user credentials and session data.
    • Requirements: Ensure secure storage and handling of user passwords (consider using hashing). Implement session management to maintain user state during interactions with the application.
  2. User Registration and Login Interfaces
    • Description: Design and implement user-friendly interfaces for registration and login. These interfaces should collect necessary user information and interact with the backend authentication system.
    • Requirements: Interfaces should be intuitive and provide clear feedback to users during the registration and login processes. Validate user input to ensure data integrity.
  3. Access Control Implementation
    • Description: Implement access control within your application to restrict certain functionalities or pages to authenticated users only.
    • Requirements: Ensure that the application correctly differentiates between authenticated and unauthenticated users, granting or restricting access accordingly.

Submission Guidelines:
  • Submit the updated source code for the Flask application, including all HTML, CSS, Python files, and database scripts related to user management.
  • Prepare for the final project presentation, ensuring it is comprehensive and effectively showcases your application.

Evaluation Criteria (50 points):
  • Functionality and security of the user authentication system, including registration, login, and logout processes.
  • Effectiveness of session management and access control within the application.
  • User-friendliness of the registration and login interfaces.