This project is a back-office user-management system developed with React and TypeScript. It integrates with the mocked REST API Reqres to provide user management functionalities.
- User Authentication: Allows users to register and sign in.
- User Management Dashboard: Admin can list, update, create, and delete users.
- Theme Customization: Supports dark and light themes, with persistence of the selection.
- Testing: Includes automated tests to ensure application functionality.
- React
- Tailwind
- Typescript
- Javascript
- React-dom
- React-dom-router
- Cypress
- Docker
To set up the project locally, follow these steps:
- Clone the repository:
git clone https://github.com/alaa-abdallah1/challenge-app.git
cd challenge-app
- Install the dependencies:
yarn
To run the application in development mode:
yarn dev
Open http://localhost:3000 to view it in the browser.
To build the application for production:
yarn build
Run the following command to execute the tests:
yarn cypress:run
The project is set up to be containerized with Docker. To build and run the Docker container:
# Build your Docker image
sudo docker build -t challenge-app .
# Run your Docker container
sudo docker run -d -p 8080:80 challenge-app
Contributions are welcome. Please open an issue or submit a pull request with your changes.
This project is part of a technical challenge and follows a professional workflow with clean, readable, and performant code. It is designed to meet the requirements as set out in the provided documentation.