Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kidd254/hello_react_front_end


https://github.com/kidd254/hello_react_front_end

Last synced: 27 days ago
JSON representation

Awesome Lists containing this project

README

        


Hello React Frontend


# 📗 Table of Contents

- [📗 Table of Contents](#-table-of-contents)
- [Hello React Frontend](#hello-react-frontend)
- [🛠 Built With ](#-built-with-)
- [Tech Stack ](#tech-stack-)
- [Key Features ](#key-features-)
- [Backend Project ](#backend-project--)
- [💻 Getting Started ](#-getting-started-)
- [Setup](#setup)
- [Prerequisites](#prerequisites)
- [Install](#install)
- [Usage](#usage)
- [Build](#build)
- [👥 Authors ](#-authors-)
- [🔭 Future Features ](#-future-features-)
- [🤝 Contributing ](#-contributing-)
- [⭐️ Show your support ](#️-show-your-support-)
- [🙏 Acknowledgments ](#-acknowledgments-)
- [📝 License ](#-license-)

# Hello React Frontend

**Hello React Frontend** is a simple ReactJS application that connects to a greetings API and displays a random greetings in the browser; it's built with Redux to manage the global state and React Router V6 to create all the application routes.

## 🛠 Built With

### Tech Stack

Client

### Key Features

- **Using the ReactJS library**
- **Using the ReactJS Router library**
- **Using JSX syntax**
- **SPA Approach**
- **Using Redux Toolkit for a global state management**
- **Fetch API**

(back to top)

---

### Backend Project

The backend project can be found in the following link: [Hello Rails Backend](https://github.com/Kidd254/Hello_Rails_Back_End/pull/1)

(back to top)

---

## 💻 Getting Started

To get a local copy up and running, follow these steps.

### Setup

Clone this repository to your desired folder:

```sh
git clone https://github.com/Kidd254/Hello_react_front_end.git
```

### Prerequisites

In order to install, modify and run this project, it is necessary to have the following applications installed:

- **Git:** to manage the project versions of source code. [You can Download Git here](https://git-scm.com/)

- **Nodejs and NPM:** to install and manage the project dependencies. [Nodejs and NPM installation guide](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)

- **A code editor** like Visual Studio Code (Recommended) or any other of your preference. It is necessary to open the project and add or modify the source code. [You can Download Visual Studio Code here](https://code.visualstudio.com/)

It is also important to have at least basic knowledge about ReactJS, JSX, HTML, CSS and Javascript languages so you will be able to understand and work with the code of the project.

- [Learn the basics of HTML](https://developer.mozilla.org/en-US/docs/Web/HTML)
- [Learn the basics of CSS](https://developer.mozilla.org/en-US/docs/Web/CSS)
- [JavaScript basics](https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics)
- [Javascript Arrays](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array)
- [Javascript Objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
- [JavaScript modules](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules)
- [ReactJS](https://react.dev/learn)
- [JSX](https://react.dev/learn/writing-markup-with-jsx)
- [Create React App](https://github.com/facebook/create-react-app)

### Install

Install this project by running the next command into your project folder:

```sh
npm install
```

All the packages and libraries necessary for the project to work will be installed in a folder called /node_module. After finishing the installation of this project, you should verify that you have the [Hello Rails Backend project](https://github.com/NitBravoA92/hello-rails-back-end) installed so that this project can work as expected.

### Usage

**IMPORTANT NOTE: As specified above, to run this project you must have the [Hello Rails Backend project](https://github.com/NitBravoA92/hello-rails-back-end) project installed and running, since it contains the API that will be consuming in this project. Please do not run this project without first running the project mentioned previously.**

In the project directory, you can run:

- `npm start`

A message similar to this will be displayed in the console:
![Confirm to use another port to run the App]()

When the above message appears, press the `Y` key to allow the server to run the application on another available port (usually port 3001).

When everything is ready, this message should appear in the console:

- `compiled successfully!`

Open the main URL: [http://localhost:3001](http://localhost:3001) to see it the app running in your browser.

The page will reload when you make changes.

You may also see any CSS and JS linters errors in the console running the following commands:

CSS Linter

```sh
npx stylelint "**/*.{css,scss}"
```

Javascript Linter

```sh
npx eslint "**/*.{js,jsx}"
```

### Build

- `npm run build`

Builds the app for production to the `build` folder.\
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.\
Your app is ready to be deployed!

See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.

**Note**: Please only modify the components files and the CSS files. Do not modify configurations files of the project.

## 👥 Authors

👤 **Lawrence Muema Kioko**

- GitHub: [@githubhandle](https://github.com/Kidd254)
- Twitter: [@twitterhandle](https://twitter.com/lawrenc98789206)
- LinkedIn: [LinkedIn](https://www.linkedin.com/in/lawrence-muema-kioko)

(back to top)

## 🔭 Future Features

- [ ] **Create the view: All Greetings list**
- [ ] **Add custom CSS styles to the UI**
- [ ] **Deploy the final version of the project and share Link Demo in the documentation**
- [ ] **Create Unit tests using Jest and React testing library**

(back to top)

## 🤝 Contributing

Contributions, issues, suggestions and feature requests are welcome!
Feel free to check the [issues page](../../issues/).

To do Contributions, please fork this repository, create a new branch and then create a Pull Request from your branch. You can find detailed description of this process in: [A Step by Step Guide to Making Your First GitHub Contribution by Brandon Morelli](https://codeburst.io/a-step-by-step-guide-to-making-your-first-github-contribution-5302260a2940)

(back to top)

## ⭐️ Show your support

If you liked this project, give me a "Star" (clicking the star button at the beginning of this page), share this repo with your developer community or make your contributions.

(back to top)

## 🙏 Acknowledgments

I would also like to thank my Microverse teammates for their support. They have supported me a lot in carrying out this project, giving me suggestions, good advice and solving my code doubts.

## 📝 License

This project is [MIT](./LICENSE) licensed.

(back to top)