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

https://github.com/alejandroq12/juliodev-blog

The JulioDev Blog is a full-stack web application that I created from scratch. My goal is to share knowledge and educate people about web development through quality content. To bring this beautiful piece of technology to life, I am using Ruby on Rails.
https://github.com/alejandroq12/juliodev-blog

api css3 html pair-programming rspec-rails ruby-on-rails swagger swagger-api

Last synced: 2 months ago
JSON representation

The JulioDev Blog is a full-stack web application that I created from scratch. My goal is to share knowledge and educate people about web development through quality content. To bring this beautiful piece of technology to life, I am using Ruby on Rails.

Awesome Lists containing this project

README

        

# juliodev-blog



main-logo


JulioDev Blog



# 📗 Table of Contents

- [juliodev-blog](#juliodev-blog)
- [📗 Table of Contents](#-table-of-contents)
- [📖 JulioDev Blog ](#-juliodev-blog-)
- [🛠 Built With ](#-built-with-)
- [Tech Stack ](#tech-stack-)
- [Key Features ](#key-features-)
- [💻 Getting Started ](#-getting-started-)
- [Prerequisites](#prerequisites)
- [Setup](#setup)
- [Install](#install)
- [Database](#database)
- [Usage](#usage)
- [Run tests](#run-tests)
- [Run linter](#run-linter)
- [Deployment](#deployment)
- [👥 Authors ](#-authors-)
- [🔭 Future Features ](#-future-features-)
- [🤝 Contributing ](#-contributing-)
- [⭐️ Show your support ](#️-show-your-support-)
- [🙏 Acknowledgments ](#-acknowledgments-)
- [❓ FAQ ](#-faq-)
- [📝 License ](#-license-)

# 📖 JulioDev Blog

The JulioDev Blog is a full-stack web application that I created from scratch. My goal is to share knowledge and educate people about web development through quality content. To bring this beautiful piece of technology to life, I will use Ruby on Rails.

## 🛠 Built With

### Tech Stack

### Key Features

- **It allows users create posts.**
- **It has many views.**

(back to top)

## 💻 Getting Started

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

### Prerequisites

In order to run this project you need:

[Install Ruby](https://www.ruby-lang.org/en/documentation/installation/)

### Setup

```sh
cd my-folder
git clone https://github.com/Alejandroq12/juliodev-blog.git
```

### Install

Install all necessary dependencies listed in the `Gemfile`.

```sh
bundle install
```

Install all necessary dependencies listed in the `package.json`.

```sh
npm install
```

### Database

Important: please, rename .env.example to .env and fill out all necessary fields otherwise you will not be able to connect to the database.

Before running the migrations and seeds, ensure that PostgreSQL is installed and running:

```sh
sudo service postgresql start
```

Create database:

```sh
rails db:create
```

Run migrations:

```sh
rails db:migrate
```

Add the seeds:

```sh
rails db:seed
```

### Usage

To run the project, navigate to the project directory and execute the following command:

```sh
rails server
```

### Run tests

To execute all test suites in the application, use the following command in your terminal:

```sh
rspec
```

If you wish to run only the controller request tests, you can specify the path to your request specs directory:

```sh
rspec spec/requests/
```

If you wish to run only the integration tests:
```sh
rspec spec/system
```

### Run linter

To run linter, run the following command:

```sh
rubocop

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

### Deployment

You can deploy this project using:

It will be available very soon!

(back to top)

## 👥 Authors

👤 **Julio Quezada**

- GitHub: [Alejandroq12](https://github.com/Alejandroq12)
- Twitter: [@JulioAle54](https://twitter.com/JulioAle54)
- LinkedIn: [Julio Quezada](https://www.linkedin.com/in/quezadajulio/)

(back to top)

## 🔭 Future Features

- [x] **Creating a data model.**
- [x] **Validations and Model specs.**
- [x] **Processing data in models.**
- [x] **Controllers.**
- [x] **Controllers specs.**
- [x] **Views.**
- [x] **Forms.**
- [x] **Integration specs for Views and fixing n+1 problems.**
- [x] **Add Devise.**
- [ ] **Add authorization rules.**
- [ ] **Add API endpoints.**
- [ ] **API documentation.**

(back to top)

## 🤝 Contributing

Contributions, [issues](https://github.com/Alejandroq12/juliodev-blog/issues), and feature requests are welcome!

(back to top)

## ⭐️ Show your support

If you like this project please give a star.
Thanks in advance.

(back to top)

## 🙏 Acknowledgments

I would like to thank all of my colleagues who inspire to do my best everyday.

(back to top)

## ❓ FAQ

**What did you learn?**

During the development of this project, I have acquired knowledge in various areas, including the creation of data models, data validation, and testing. I have also learned about processing data, building controllers, controller specs, designing views, and correctly implementing forms. One of the most significant achievements for me was understanding routing. Initially, I struggled with understanding how routes function in Rails. However, it's now clear to me how routes operate and how they should be used. For example, if I want to create a new post, I now know how to use the route assigned to the POST method, which corresponds to the 'create' action in the specific controller.

(back to top)

## 📝 License

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

(back to top)