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

https://github.com/yusufyusie/blog_app

The Blog app is a a blog website that is fully functional website that will show the list of posts and empower readers to interact with them by adding comments and likes to posts of their interests. Built with RoR.
https://github.com/yusufyusie/blog_app

postgresql ruby ruby-on-rails

Last synced: about 2 months ago
JSON representation

The Blog app is a a blog website that is fully functional website that will show the list of posts and empower readers to interact with them by adding comments and likes to posts of their interests. Built with RoR.

Awesome Lists containing this project

README

          

Blog App

Blog App is a classic example of a blog website. It is a fully functional website that shows the list of posts and empowers readers to interact with them by adding comments and liking posts.

# 📗 Table of Contents

- [📗 Table of Contents](#-table-of-contents)
- [📖 My-Blog-Appp ](#-My-Blog-App-)
- [🛠 Built With](#built-with)
- [Tech Stack ](#tech-stack-)
- [Key Features ](#key-features-)
- [💻 Getting Started ](#-getting-started-)
- [Prerequisites](#prerequisites)
- [Setup](#setup)
- [Install](#install)
- [Usage](#usage)
- [Run tests](#run-tests)
- [👥 Authors](#authors)
- [🔭 Future Features](#future-features)
- [🤝 Contributing](#contributing)
- [⭐️ Show your support](#support)
- [🙏 Acknowledgements](#acknowledgements)
- [❓ FAQ (OPTIONAL)](#faq)
- [📝 License](#license)

# 📖 My-Blog-App

> The Blog app is a classic example of a blog website. It's a fully functional website that will show the list of posts and empower readers to interact with them by adding comments and liks to posts of their intrest.

## 🛠 Built With

### Tech Stack

Client

Ruby on Rails


### Key Features

- **authentication and authorization**
- **write posts**
- **like posts**
- **leave comments**
- **Create blog plost**
- **Comment on blog post**
- **Display list of comments**
- **Add User, Post, Like & Comment**
- **List all Users, Posts, Likes & Comments**
- **Sign up**
- **Log in**
- **Reset Password**

(back to top)

## 💻 Getting Started

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

### Prerequisites

In order to run this project you need:

- Mac or PC
- Code Editor (Vs Code)
- Terminal
- Install [ruby 3.2.2](https://www.ruby-lang.org/en/documentation/installation/) on your computer
- Install [rails](https://www.tutorialspoint.com/ruby-on-rails/rails-installation.htm#) on your computer
- Install [postgreSQL](https://www.postgresql.org/download/) on your computer

Install the dependencies:
> gem install
> npm install

Create database:
> bin/rails db:create

### Setup

Clone this repository by using the command line to your desired folder:

```sh
git clone https://github.com/yusufyusie/Blog_App.git

cd Blog-App
```
Setup database:
> sudo -u postgres createuser --interactive --pwprompt
(provide the username and password described in [config/database.yml](./config/database.yml))

### Install

Install this project with:

```sh
cd Blog-App
bundle install (install all dependencies)
```
- GitHub Actions
- Linters
- Rubocop
- Ruby On Rails

### Usage

To run the project, execute the following command:

- Run `bundle install` in the terminal from the root folder of the project.
- Run `rails db:create` in the terminal from the root folder of the project.
- Run `rails db:migrate` in the terminal from the root folder of the project.
- Run the app with `rails c` in the terminal from the root folder of the project.
- Create a new user
```sh
```
- Run the server with `rails s` in the terminal from the root folder of the project.

### Test

```sh
rspec
```

To run the server:
> rails server

Open [http://localhost:3000](http://localhost:3000) to view it in your browser.

### Run tests

To run tests, run the following command:
> rspec

You can also check linter errors by running these commands:
> rubocop

For testing the confirmation emails:
> gem install mailcatcher

Open [http://localhost:1080](http://localhost:1080) to view it in your browser.

(back to top)

## Authors

👤 **Yesuf Fenta**

- GitHub: [@yusufyusie](https://github.com/yusufyusie)
- Twitter: [@yusufyusiee](https://twitter.com/@yusufyusiee)
- LinkedIn: [Yesuf Fenta](https://www.linkedin.com/in/yusufyusie/)
- Frontend Mentor - [@yusufyusie](https://www.frontendmentor.io/profile/yusufyusie)

## 🔭 Future Features

- **Improve styles of the project**

(back to top)

## 🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the [issues page](https://github.com/yusufyusie/Blog_App/issues)

(back to top)

## ⭐️ Show your support

Leave a star if you like the project.

(back to top)

## 🙏 Acknowledgments

I would like to thank Microverse for the project.

(back to top)

## 📝 License

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

(back to top)