https://github.com/rahmanabdur1/react-recruitment-task
https://github.com/rahmanabdur1/react-recruitment-task
async-await css3-animations reactjs typescript
Last synced: 27 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/rahmanabdur1/react-recruitment-task
- Owner: rahmanabdur1
- Created: 2025-04-09T14:03:48.000Z (27 days ago)
- Default Branch: main
- Last Pushed: 2025-04-09T14:10:05.000Z (27 days ago)
- Last Synced: 2025-04-09T15:25:04.689Z (27 days ago)
- Topics: async-await, css3-animations, reactjs, typescript
- Language: TypeScript
- Homepage: https://react-recruitment-task-two.vercel.app/
- Size: 66.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Complaint Submission App
A simple React-based application for submitting and viewing complaints using a REST API.Features
Submit complaints with a title and bodyView a list of submitted complaints
Real-time form validation with error feedback
API integration with loading and success states
Responsive layout for better user experience
Technologies Used
React (with Hooks)TypeScript
Fetch API
CSS (custom styling)
🚀 Getting Started
# Clone the repository
git clone https://github.com/rahmanabdur1/react-recruitment-task# Navigate into the project directory
cd react-recruitment-task# Install dependencies
npm install# Start the development server
npm start
🛠️ Summary of Changes
Fixed:API endpoint configuration
Form state reset bug
Inconsistent error handling for failed requests
Improved:
UI layout with better spacing and styling
Button states and feedback during form submission
Responsive design with media queries
Loading and success indicators for better UX
Added:
Centralized API base URL constant
useCallback and safe useEffect cleanup
Form validation and accessibility improvements
Auto-clearing of error/success messages with timeout
📌 Technical Decisions
Used useCallback for memoizing the fetch functionAdded a setTimeout to auto-clear user notifications
Applied native form validation to assist accessibility
Defined a reusable API base URL to simplify configuration
Ensured responsive design and mobile compatibility