What is Redux?
Who uses Redux?
Redux Integrations
Here are some stack decisions, common use cases and reviews by companies and developers who chose Redux in their tech stack.
Am already using Redux in my application. My application is kind of big (a lot of code ) and mostly uses class-based components. Should I go for React Query for better API calls? I have read online about the React Query. Should I use react-query or not?
Hi there,
I want to make a front-end POC about market stocks with React and TypeScript that lets you search stocks, list stocks, and see stocks detail with authorization.
I will fetch data from GraphQL API. Should I add Redux to this project or should I use React Context API or is GraphQL meets my needs for state management?
And any other recommendations to add my project as package or concept?
Thanks
Hi, I'm building a detailed workout logging app on React Native (managed expo project) with Redux as my state management and Firebase as my user authentication. I want to be able to backup users' profiles, workout logs, and progress pictures. Later on, I want to run machine learning on my data as well. After a bunch of research, I still don't know which one of these databases to use (let's assume that my app will grow to many users).
Hello,
I am trying to bring in an efficient calendar API that allows multiple users to book meeting with 1 or 100s clients. If a client signs up for a meeting on an available slot, the appointment will show on both users' calendars and within the app.
I can't decide on how I should seamlessly implement this in my platform due to so many options. I'm building an experimental MVP so I need to keep the costs down. My application is in React + Redux. I need full control over the UI Visual Design. The calendar must also sync to 3rd party services such as Google Calendar.
Looking at these services or libraries to help speed up implementation:
- https://www.timekit.io/ - Leaning towards this API.... does anyone have opinions around this service?
- https://reactjsexample.com/tag/scheduler/
- https://www.nylas.com/products/calendar-api/
- https://developer.calendly.com/
- https://developers.google.com/calendar
Any advice?? :)
We chose to use React as our frontend. This will allow us to effectively manage and condense our code into repeatable components to avoid repetition and promote clarity. We have also decide to use Redux as it has proven to be an efficient way to manage a state space given a complex and scalable product such as ours. To avoid costly time and effort with boiler plate styling of common components, we have decided to use the Semantic UI React open-source library as it provides great customization and clear documentation. Lastly, we will be using Jest for frontend Unit testing, as it is a popular framework and has great support for React.
Server side
We decided to use Python for our backend because it is one of the industry standard languages for data analysis and machine learning. It also has a lot of support due to its large user base.
Web Server: We chose Flask because we want to keep our machine learning / data analysis and the web server in the same language. Flask is easy to use and we all have experience with it. Postman will be used for creating and testing APIs due to its convenience.
Machine Learning: We decided to go with PyTorch for machine learning since it is one of the most popular libraries. It is also known to have an easier learning curve than other popular libraries such as Tensorflow. This is important because our team lacks ML experience and learning the tool as fast as possible would increase productivity.
Data Analysis: Some common Python libraries will be used to analyze our data. These include NumPy, Pandas , and matplotlib. These tools combined will help us learn the properties and characteristics of our data. Jupyter notebook will be used to help organize the data analysis process, and improve the code readability.
Client side
UI: We decided to use React for the UI because it helps organize the data and variables of the application into components, making it very convenient to maintain our dashboard. Since React is one of the most popular front end frameworks right now, there will be a lot of support for it as well as a lot of potential new hires that are familiar with the framework. CSS 3 and HTML5 will be used for the basic styling and structure of the web app, as they are the most widely used front end languages.
State Management: We decided to use Redux to manage the state of the application since it works naturally to React. Our team also already has experience working with Redux which gave it a slight edge over the other state management libraries.
Data Visualization: We decided to use the React-based library Victory to visualize the data. They have very user friendly documentation on their official website which we find easy to learn from.
Cache
- Caching: We decided between Redis and memcached because they are two of the most popular open-source cache engines. We ultimately decided to use Redis to improve our web app performance mainly due to the extra functionalities it provides such as fine-tuning cache contents and durability.
Database
- Database: We decided to use a NoSQL database over a relational database because of its flexibility from not having a predefined schema. The user behavior analytics has to be flexible since the data we plan to store may change frequently. We decided on MongoDB because it is lightweight and we can easily host the database with MongoDB Atlas . Everyone on our team also has experience working with MongoDB.
Infrastructure
- Deployment: We decided to use Heroku over AWS, Azure, Google Cloud because it is free. Although there are advantages to the other cloud services, Heroku makes the most sense to our team because our primary goal is to build an MVP.
Other Tools
Communication Slack will be used as the primary source of communication. It provides all the features needed for basic discussions. In terms of more interactive meetings, Zoom will be used for its video calls and screen sharing capabilities.
Source Control The project will be stored on GitHub and all code changes will be done though pull requests. This will help us keep the codebase clean and make it easy to revert changes when we need to.
Blog Posts
Redux's Features
- Predictable state
- Easy testing
- Works with other view layers besides React