Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mynameiscarsten/reddit-api-client
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.
https://github.com/mynameiscarsten/reddit-api-client
react reactjs reddit reddit-api redux
Last synced: about 2 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/mynameiscarsten/reddit-api-client
- Owner: MyNameIsCarsten
- Created: 2023-10-14T08:43:32.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-17T10:20:28.000Z (about 1 year ago)
- Last Synced: 2024-01-26T11:06:32.535Z (11 months ago)
- Topics: react, reactjs, reddit, reddit-api, redux
- Language: JavaScript
- Homepage: https://react-redux-reddit-client.netlify.app/
- Size: 448 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Project Requirements:
- [ 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
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.
![Dashboard](dashboard.png)
## Table of Contents
- [Installation](#installation)
- [Usage](#usage)
- [Technologies](#technologies)
- [Features](#features)
- [Contributing](#contributing)
- [Future Work](#future-work)## Installation
1. **Clone the repository**
```bash
git clone https://github.com/yourusername/reddit-client.git
```2. **Navigate to the project directory**
```bash
cd reddit-client
```3. **Install dependencies**
```bash
npm install
```## Usage
1. **Run the development server**
Start the development server to run the application:
```bash
npm start
```The app should now be available in your browser at `http://localhost:3000`.
2. **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.## Technologies
1. **React**: A JavaScript library for building user interfaces.
2. **Redux**: A state management library for managing the application's state.
3. **React-Redux**: A library that connects React components to the Redux store.
4. **Material-UI**: A popular React UI framework for designing and building user interfaces. It includes components, styles, and theming.
5. **React-Router-DOM**: A library for handling routing and navigation in a React application.
6. **CSS**: CSS for additonally styling components.
7. **Reddit API**: Data is fetched from the Reddit API to display posts.
## Features
- 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.## Contributing
Contributions are welcome! Here are the steps to contribute to this project:
1. **Fork the repository**
Click the "Fork" button in the top right corner of the repository page.
2. **Clone your fork**
```bash
git clone https://github.com/MyNameIsCarsten/reddit-api-client.git
```3. **Create a branch**
Create a new branch for your feature or bug fix:
```bash
git checkout -b feature/your-feature-name
```4. **Make your changes**
Make the necessary code changes and improvements.
5. **Commit your changes**
```bash
git commit -m "Your commit message here"
```6. **Push your changes**
```bash
git push origin feature/your-feature-name
```7. **Create a Pull Request**
Go to the original repository and click "New Pull Request." Describe your changes and submit the pull request.
8. **Discuss and Review**
Participate in discussions and address any review comments.
9. **Merge Pull Request**
Once your pull request is approved, it will be merged into the main project.
## Future Work
- [ ] Write unit tests for your components using Jest and Enzyme
- [ ] Write end-to-end tests for your application
- [ ] Get 90+ scores on Lighthouse