Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/fmanimashaun/hello-rails-react

This is a simple Rails and React application that displays a random greeting message.
https://github.com/fmanimashaun/hello-rails-react

full-stack-web-development rails-api reactjs webpack5

Last synced: 14 days ago
JSON representation

This is a simple Rails and React application that displays a random greeting message.

Awesome Lists containing this project

README

        

# Hello Rails React

# 📗 Table of Contents

- [📖 About the Project](#about-project)
- [🛠 Built With](#built-with)
- [Tech Stack](#tech-stack)
- [Key Features](#key-features)
- [💻 Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Setup](#setup)
- [Usage](#usage)
- [👥 Authors](#authors)
- [🔭 Future Features](#future-features)
- [🤝 Contributing](#contributing)
- [⭐️ Show your support](#support)
- [🙏 Acknowledgements](#acknowledgements)
- [📝 License](#license)

## 📖 Hello Rails React

This is a simple Rails and React application that displays a random greeting message using redux-toolkit and react-router.

## 🛠 Built With

Programming Language

  • Ruby 3.2.2
  • JavaScript

Web Application Framework

  • Rails 7.1.3

Database

  • PostgreSQL (pg gem)

Web Server

  • Puma

JavaScript Modules

  • Webpack (jsbundling-rails gem, webpack and webpack-cli in package.json)

UI Library

  • React (react and react-dom in package.json)

Hotwire

  • Turbo (turbo-rails gem, @hotwired/turbo-rails in package.json)
  • Stimulus (@hotwired/stimulus in package.json)

APIs

  • Jbuilder

Performance Optimization

  • Bootsnap

Testing

  • Debug
  • Capybara
  • Selenium Webdriver

Development Tools

  • Web Console (web-console gem)
  • Babel (@babel/core, @babel/preset-env, @babel/preset-react, babel-loader in package.json)

### Key Feature

- [x] **Random Greeting:** Displays a random greeting message from a selection of 5 different greetings stored in the database.
- [x] **React Components:** Uses React to create dynamic UI components.
- [x] **API Endpoint:** Includes an API endpoint that selects a random greeting from the database.
- [x] **Redux Store:** A store, an action, and a reducer are created that connect to the API endpoint to get the random greeting.

👆

## 💻 Getting Started

To get started with the project, follow the steps below.

### Prerequisites

To run this project, ensure you have the following installed:

- [Git](https://git-scm.com/)
- [Ruby](https://www.ruby-lang.org/en/)
- [rails](https://rubyonrails.org/)
- A code editor (e.g., [VsCode](https://code.visualstudio.com/))

### Setup

Clone the repository to your local machine:

```bash
git clone https://github.com/fmanimashaun/hello-rails-react.git

cd hello-rails-react

bundle install

yarn install
```

## Database Setup

This application uses PostgreSQL as the database. Here are the steps to set it up:

1. Ensure PostgreSQL is installed on your machine and running.

2. Update the config/database.yml file with your PostgreSQL username and password in the default section.

3. Create the database:

```bash
rails db:create
```

4. Run migrations to set up the database schema:

```bash
rails db:migrate
```

5. Load sample data into database:

```bash
rails db:seed
```

### Usage

To run the program, you can use a Ruby interpreter. For example, to interact with the code, use the following:

1. Start the server

```bash
bin/dev
```

2. Access the Blog app in your web browser at `http://localhost:3000`.

👆

## 👥 Authors

👤 **Fisayo Michael Animashaun**

- GitHub: [@fmanimashaun](https://github.com/fmanimashaun)
- Twitter: [@fmanimashaun](https://twitter.com/fmanimashaun)
- LinkedIn: [Fisayo Michael Animashaun ](https://linkedin.com/in/fmanimashaun)

👆

## 🔭 Future Features

- Add more functionality...

👆

## 🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

[Issue Page](https://github.com/fmanimashaun/myblog/issues)

👆

## ⭐️ Show your support

If you like this project leave a start for it.

👆

## 🙏 Acknowledgments

- I'd like to thank Microverse for helping us in the journey to become a Fullstack developer.

👆

## 📝 License

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

👆