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.
Create secure and user-friendly sign-up and login pages for our Inventory Management System.
Requirements:
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
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
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
Functionality:
- After successful login, redirect user to Home page
- Implement logout functionality
- Consider implementing "Remember Me" feature
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)
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
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
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:
Users can successfully create new accounts
Existing users can log in securely
All user inputs are properly validated
Passwords are securely hashed in the database
UI is consistent with project theme and responsive
Proper error messages are displayed for all error scenarios
Successful login redirects to Home page
Unauthenticated users cannot access any part of the application beyond login and signup pages
All protected routes consistently check for user authentication
Clear user flow between login, signup, and protected pages
Additional Notes:
Coordinate with the UI/UX team for design consistency
Consult with security team member for best practices in authentication
Document the authentication process for the project documentation
Ensure the authentication check is applied consistently across all protected pages
Consider implementing a remember-me functionality for improved user experience
Document the authentication flow and access control mechanism in the project documentation
Description:
Create secure and user-friendly sign-up and login pages for our Inventory Management System.
Requirements:
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
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
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
Functionality: - After successful login, redirect user to Home page - Implement logout functionality - Consider implementing "Remember Me" feature
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)
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
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
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.