Hashan-Samarakkody / SwiftStock-Inventory_Management_System

This repository contains the code for a web-based Inventory Management System developed for the final project in Web Applications Development I. The application is built using PHP and MySQL, designed to help users efficiently manage their inventory items through a comprehensive set of features.
MIT License
5 stars 1 forks source link

Implement Sign-up and Login Functionality #5

Closed Hashan-Samarakkody closed 2 months ago

Hashan-Samarakkody commented 3 months ago

Description:

Create secure and user-friendly sign-up and login pages for our Inventory Management System.

Requirements:

  1. User Interface:    - Design consistent sign-up and login pages    - Use the project's established color theme and font    - Incorporate appropriate, high-quality images    - Ensure responsive design for various devices

  2. Sign-up Page:    - Fields: Username, Email, Password, Confirm Password    - Implement client-side validation for all fields    - Server-side validation to double-check all user inputs    - Check database for existing usernames/emails    - Display clear error message if username/email already exists    - Encrypt passwords before storing in the database

  3. Login Page:    - Fields: Username/Email, Password    - Implement client-side validation    - Server-side authentication against database records    - Display clear error message for incorrect username/password    - Use secure session management for logged-in users

  4. Functionality:    - After successful login, redirect user to Home page    - Implement logout functionality    - Consider implementing "Remember Me" feature

  5. Security Measures:    - Use prepared statements to prevent SQL injection    - Implement CSRF protection    - Rate limiting to prevent brute-force attacks    - Secure password reset functionality (if time allows)

  6. Testing:    - Test all validation scenarios    - Ensure proper error handling and user feedback    - Verify database operations (user creation, login checks)    - Test on multiple browsers and devices   

  7. Access Control:    - Implement a system-wide check to prevent unauthorized access    - Redirect unauthenticated users to the login page when they try to access any protected page    - Use PHP sessions to maintain user authentication state    - Implement middleware or a similar mechanism to check user authentication on every protected route

  8. User Flow:    - When an unauthenticated user tries to access any page (except login and signup), redirect to login page    - After login/signup, redirect user to their originally requested page (if applicable)    - Provide clear navigation options for new users to sign up from the login page and vice versa

Acceptance Criteria:

Additional Notes:

Refer:

Link - 1 Link - 2 Link - 3o

Please update this issue with progress, questions, or blockers as you work on this feature.

Hashan-Samarakkody commented 2 months ago

Log in - Done image

Sign up - Done image