Skip to content

Conversation

@zainakram2017
Copy link

Challenge - Senior Full-Stack Software Engineer role

  • Implemented backend API endpoints for user, question, and answer management using TypeScript and ExpressJS.
  • Integrated robust error-handling mechanisms to provide a seamless user experience.
  • Completed frontend tasks encompassing user and question listing, as well as CRUD operations.
  • Developed functionalities for answer management in React with TypeScript.
  • Ensured clear component structure in the front end for enhanced code organization.
  • Employed efficient state management techniques to optimize application performance.

Zain Akram - [email protected]

zainakram2017 and others added 19 commits March 29, 2024 14:52
- Implement basic authentication context with AuthProvider and useAuth hook
- Create private route component for authenticated routes
- Add LoginPage and HomePage components
- Added LoginForm component with Formik and Yup validation
- Implemented dummy login and logout functions in AuthContext
- Added PrivateRoute component for authenticated routes
- Created LoginPage, NotFoundPage, LoginPageRoute components
- Implemented routing logic in Routes component
- Added UserProvider import and wrapped Routes component with it in App
- Created ProfileDropdown component to display user menu items
- Used UserProvider in UserList component to fetch and display users
- Implemented UserList component in HomePage
- Added QuestionPage component
- Created a QuestionsPage component to display questions
- Implemented QuestionContext to manage state related to questions
- Implemented functionality to add, edit, and delete questions in QuestionProvider
- Integrated the modal into Navbar for adding new questions
- Integrated the modal into QuestionsPage for editing questions
- Implemented new routes for user data handling and authentication.
    - Added request handlers for user creation, update, and retrieval.
    - Implemented new routes for questions data handling, authentication and authorization.
        - Added request handlers for questions creation, update, and retrieval.
    - Implemented new routes for answers data handling, authentication and authorization.
        - Added request handlers for answers creation, update, and retrieval.
- Added  for automatic DB checks, migrations, and seeding.
- Modified npm scripts for DB prep in dev and prod environments.
- Enhanced error handling for DB operations.
…ponse

- Added CORS middleware to handle cross-origin requests
- Modified login handler to include user data in the response
- Added Axios dependency for making API requests
- Updated login functionality to use Axios for calling the mock login endpoint
- Modified login form to accept username instead of email for consistency
- Updated authentication context to store user data upon successful login
- Restructured app to remove unnecessary context providers
- Consolidated authentication and user API calls into separate files
- Modified user list UI to display roles
- Updated user context to fetch users using new API call
- Wrapped routes in PrivateRoute component with appropriate context providers
- Update Question type properties to match backend API changes
- Rearrange component hierarchy in PrivateRoute for better context usage
- Modify QuestionsPage to reflect changes in QuestionContext methods
- Adjust QuestionForm to use updated Question type and async methods
- Introduce API calls for question CRUD operations
- Added AnswerForm component for creating and updating answers
- Implemented API calls for creating, updating, and retrieving answers
- Integrated AnswerForm with modal for user interaction
- Updated Navbar to toggle AnswerForm modal based on user role
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant