Blog app will be a classic example of a blog website. I will create a fully functional website that will show the list of posts and empower readers to interact with them by adding comments and liking posts. Everything will be based on the given UML class diagram. The data will be stored in postgreSQL database.
The project is divided in eleven (11) milestones and one exercise.
- Milestone 1: Setup and controllers
- Milestone 2: Controllers specs
- Milestone 3: Creating a data model
- Milestone 4: Processing data in models
- Milestone 5: Views
- Milestone 6: Forms
- Milestone 7: Validations, Model specs, and n+1 problems
- Milestone 8: Add Devise
- Milestone 9: Add authorization rules
- Milestone 10: Integration specs for views
- Milestone 11: Add API endpoints
- Exercise: API documentation
The app is built to match the following Entity Relationship Diagram:
This project is designed following these wireframes:
- Create a post
- List all posts by users
- Post details
- User details
- Like posts
- Comment posts
-
Make sure you have Ruby installed in your system. You can install it here
-
Get started with Ruby on Rails.
-
Make sure you have PostgreSQL installed and running.
-
Clone this repository by running
git clone https://github.com/developertariq/my-blogin your command line. -
Navigate to the repository by running
cd my-blog. -
Run
bundle installto install all the gems.
- Change/include
host, username, passwordaccording to your database server. - Run
rails db:createandrails db:migrate - Run
rails db:seedto populate the database with some sample data. - Run
rails sto start the server. - In your browser, go to
http://localhost:3000.
- Run
gem install rspecto install Rspec, - Run
rspec specto run all the test cases, and - Run
rspec spec/modelsto run test cases formodels. - Run
rspec spec/requeststo run test cases forcontrollers. - Run
rspec spec/featuresto run test cases forviews. - Run
rspec spec/filepath/filename.rbto run test cases individually.
👤 Md Tariq-ul Islam
- GitHub: @developertariq
- Twitter: @developer-tariq
- LinkedIn: @developer_tariq
👤 Newton Alumasa
- Optimized Database
- Better UI Experience
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
If you like this project, please consider giving it a star.
- I would like to thank all code reviewers for making this project better.
This project is MIT licensed.





