This is a React application with Redux state management, user authentication, serverless functions, and a product listing feature.
- Features
- Technologies Used
- Installation
- Configuration
- Usage
- Folder Structure
- Authentication
- State Management
- Serverless Functions
- Product Listing Page
- Product Details Page
- TypeScript Integration
- Bonus Features
- Contributing
- License
- User authentication (sign up, log in, log out).
- User dashboard with personalized information.
- Global state management using Redux.
- Serverless functions for backend interactions.
- Product listing page with pagination.
- Product details page with additional information.
- TypeScript integration for static typing.
- Bonus features include form validation, error handling, and a visually appealing UI.
- React
- Redux
- TypeScript
- React Router
- Auth0 Authentication Service
- Serverless Functions
- [Dummyjson API]
- Clone the repository.
- Run
npm install
to install dependencies.
- Set up your Auth0 Authentication Service and obtain API keys.
- Configure serverless function environment variables.
- Update configuration files with your API keys and other required information.
- Run
npm start
to start the development server. - Open the app in your browser at
http://localhost:3000
.
/src /components /containers /redux /services /serverless /styles
- Customize the folder structure based on your project needs.
- Use Auth0 Authentication Service for user sign up, log in, and log out.
- Secure specific routes to be accessible only by authenticated users.
- Redux is used for managing global application state.
- State includes user authentication status and user-related data.
- Utilize serverless functions for backend functionalities.
- Fetch additional user-specific data and product data from the dummyjson API.
- Display a paginated list of products with names, prices, and images.
- Implement pagination to navigate through different pages of products.
- Allow users to click on a product to view detailed information.
- Display additional details about the selected product.
- Utilize TypeScript for static typing throughout the entire project.
- Implement form validation for sign-up and login forms.
- Include error handling for authentication, API calls, and form submissions.
- Create a visually appealing and responsive user interface.
Feel free to contribute by opening issues or submitting pull requests.
This project is licensed under the MIT License.