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.
- It allows users create posts.
- It has many views.
To get a local copy up and running, follow these steps.
In order to run this project you need:
cd my-folder
git clone https://github.com/Alejandroq12/juliodev-blog.git
Install all necessary dependencies listed in the Gemfile
.
bundle install
Install all necessary dependencies listed in the package.json
.
npm install
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
To run the project, navigate to the project directory and execute the following command:
rails server
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
To run linter, run the following command:
rubocop
npx stylelint "**/*.{css,scss}"
You can deploy this project using:
It will be available very soon!
π€ Julio Quezada
- GitHub: Alejandroq12
- Twitter: @JulioAle54
- LinkedIn: Julio Quezada
- 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.
Contributions, issues, and feature requests are welcome!
If you like this project please give a star. Thanks in advance.
I would like to thank all of my colleagues who inspire to do my best everyday.
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.
This project is MIT licensed.