This repository contains a React-based application for managing users, integrating with the Reqres API. The project is structured to handle user authentication, display paginated user data, and allow basic user editing and deletion.
You can access the deployed project here: User Management App
- Authentication:
Secure login functionality using the Reqres API. Stores tokens for session persistence. - User List:
Paginated display of user data fetched via API. - Edit/Delete:
Update and remove users with real-time feedback.
- Frontend: React, React-Bootstrap, Styled Components
- HTTP Client: Axios
- Styling: Bootstrap, Custom Styles (using Styled Components)
- State Management: React State/Context API
Ensure you have the following installed on your system:
- Node.js (v16 or later)
- npm or yarn (npm is included with Node.js)
- Git (for repository management)
-
Clone the repository:
git clone https://github.com/SampathiNaman/GGSL-user-management.git
-
Install dependencies:
npm install
Or
yarn install
-
Start the development server:
npm start
Or
yarn start
-
Access the app in your browser at:
http://localhost:3000
- API Stability: The Reqres API endpoints will remain stable and accessible throughout the project development and usage. No changes to the API structure or response format are expected.
- Browser Compatibility: The app will support modern browsers such as Chrome, Firefox, Edge, and Safari. Older browsers (e.g., Internet Explorer) may not be fully compatible.
- User Interface: The design will follow basic UI principles, ensuring responsiveness and accessibility, but will not be highly customized or intricate in style.
- Error Handling: Proper error handling will be implemented to manage issues such as failed network requests, invalid inputs, and API errors. This includes showing user-friendly error messages.
- Performance: As the list of users grows, pagination will be crucial for maintaining performance. Lazy loading of users may be considered for optimizing data fetching.
- Security: Sensitive data such as user credentials should be handled securely. Although the Reqres API may not require strict security features, additional security measures (e.g., HTTPS, input sanitization) should be implemented in production environments.
- Accessibility: The app will be built with accessibility in mind, ensuring keyboard navigation, screen reader support, and color contrast for users with disabilities.
- State Management: For more complex user data interactions, state management libraries like Redux could be considered in the future, especially if the app expands to handle more dynamic user interactions.