Skip to content

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.

License

Notifications You must be signed in to change notification settings

Alejandroq12/juliodev-blog

Repository files navigation

juliodev-blog

main-logo

JulioDev Blog

# πŸ“— Table of Contents

πŸ“– 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

Setup

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

Install

Install all necessary dependencies listed in the Gemfile.

bundle install

Install all necessary dependencies listed in the package.json.

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:

sudo service postgresql start

Create database:

rails db:create

Run migrations:

rails db:migrate

Add the seeds:

rails db:seed

Usage

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

rails server

Run tests

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

rspec

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

rspec spec/requests/ 

If you wish to run only the integration tests:

rspec spec/system

Run linter

To run linter, run the following command:

rubocop
npx stylelint "**/*.{css,scss}"

Deployment

You can deploy this project using:

It will be available very soon!

(back to top)

πŸ‘₯ Authors

πŸ‘€ Julio Quezada

(back to top)

πŸ”­ Future Features

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

(back to top)

🀝 Contributing

Contributions, 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 licensed.

(back to top)

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published