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.
- Host: GitHub
- URL: https://github.com/alejandroq12/juliodev-blog
- Owner: Alejandroq12
- License: mit
- Created: 2024-01-09T21:50:21.000Z (over 1 year ago)
- Default Branch: dev
- Last Pushed: 2024-11-27T21:53:10.000Z (5 months ago)
- Last Synced: 2025-01-08T10:45:48.429Z (4 months ago)
- Topics: api, css3, html, pair-programming, rspec-rails, ruby-on-rails, swagger, swagger-api
- Language: Ruby
- Homepage:
- Size: 242 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# juliodev-blog
![]()
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-)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.
### 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!
👤 **Julio Quezada**
- GitHub: [Alejandroq12](https://github.com/Alejandroq12)
- Twitter: [@JulioAle54](https://twitter.com/JulioAle54)
- LinkedIn: [Julio Quezada](https://www.linkedin.com/in/quezadajulio/)
- [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.**
Contributions, [issues](https://github.com/Alejandroq12/juliodev-blog/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](./LICENSE) licensed.