- [ x ] Build the application using React and Redux
- [ x ] Version control your application with Git and host the repository on GitHub
- [ x ] Use a project management tool (GitHub Projects, Trello, etc.) to plan your work
- [ x ] Write a README (using Markdown) that documents your project including:
- [ x ] Technologies used
- [ x ] Features
- [ x ] Future work
- [ x ] Users can use the application on any device (desktop to mobile)
- [ x ] Users can use the application on any modern browser
- [ x ] Users can access your application at a URL
- [ x ] Users see an initial view of the data when first visiting the app
- [ x ] Users can search the data using terms
- [ x ] Users can filter the data based on categories that are predefined
- [ x ] Users are shown a detailed view (modal or new page/route) when they select an item
- [ x ] Users are delighted with a cohesive design system
- [ x ] OPTIONAL: Set up a CI/CD workflow to automatically deploy your application when the main branch in the repository changes
Reddit Client is a React Redux-based web application that allows users to search for posts on Reddit. Users can input a search term, and the app will display relevant Reddit posts.
-
Clone the repository
git clone https://github.com/yourusername/reddit-client.git
-
Navigate to the project directory
cd reddit-client
-
Install dependencies
npm install
-
Run the development server
Start the development server to run the application:
npm start
The app should now be available in your browser at
http://localhost:3000
. -
Use the application
- Enter your search term in the input field and click the "Search" button.
- The app will retrieve relevant Reddit posts and display them.
- Click on a post to view its details.
-
React: A JavaScript library for building user interfaces.
-
Redux: A state management library for managing the application's state.
-
React-Redux: A library that connects React components to the Redux store.
-
Material-UI: A popular React UI framework for designing and building user interfaces. It includes components, styles, and theming.
-
React-Router-DOM: A library for handling routing and navigation in a React application.
-
CSS: CSS for additonally styling components.
-
Reddit API: Data is fetched from the Reddit API to display posts.
- Search for Reddit posts based on a search term.
- View a list of relevant posts with titles and descriptions.
- Filter through posts
- Click on a post to see more details.
- Responsive design for mobile and desktop.
Contributions are welcome! Here are the steps to contribute to this project:
-
Fork the repository
Click the "Fork" button in the top right corner of the repository page.
-
Clone your fork
git clone https://github.com/MyNameIsCarsten/reddit-api-client.git
-
Create a branch
Create a new branch for your feature or bug fix:
git checkout -b feature/your-feature-name
-
Make your changes
Make the necessary code changes and improvements.
-
Commit your changes
git commit -m "Your commit message here"
-
Push your changes
git push origin feature/your-feature-name
-
Create a Pull Request
Go to the original repository and click "New Pull Request." Describe your changes and submit the pull request.
-
Discuss and Review
Participate in discussions and address any review comments.
-
Merge Pull Request
Once your pull request is approved, it will be merged into the main project.
- Write unit tests for your components using Jest and Enzyme
- Write end-to-end tests for your application
- Get 90+ scores on Lighthouse