https://github.com/developertariq/my-blog
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.
https://github.com/developertariq/my-blog
Last synced: about 1 year ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/developertariq/my-blog
- Owner: developertariq
- Created: 2023-03-28T14:16:50.000Z (about 3 years ago)
- Default Branch: dev
- Last Pushed: 2023-04-19T06:35:11.000Z (about 3 years ago)
- Last Synced: 2025-02-04T12:48:39.970Z (over 1 year ago)
- Language: Ruby
- Homepage:
- Size: 546 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE/MIT.md
Awesome Lists containing this project
README
# 📗 Table of Contents
- [📗 Table of Contents](#-table-of-contents)
- [📖 Blog app ](#-blog-app-)
- [🛠 Built With ](#-built-with-)
- [Tech Stack ](#tech-stack-)
- [Key Features ](#key-features-)
- [💻 Getting Started ](#-getting-started-)
- [Prerequisites](#prerequisites)
- [Setup](#setup)
- [Run](#run)
- [Test](#test)
- [👥 Authors ](#-authors-)
- [🔭 Future Features ](#-future-features-)
- [🤝 Contributing ](#-contributing-)
- [⭐️ Show your support ](#️-show-your-support-)
- [🙏 Acknowledgments ](#-acknowledgments-)
- [📝 License ](#-license-)
**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
### Prerequisites
* Make sure you have Ruby installed in your system. You can install it [here](https://www.ruby-lang.org/en/documentation/installation/)
* Get started with [Ruby on Rails](https://guides.rubyonrails.org/getting_started.html).
* Make sure you have [PostgreSQL](https://www.postgresql.org/) installed and running.
### Setup
* Clone this repository by running `git clone https://github.com/developertariq/my-blog` in your command line.
* Navigate to the repository by running `cd my-blog`.
* Run `bundle install` to install all the gems.
### Run
* Change/include `host, username, password` according to your database server.
* Run `rails db:create` and `rails db:migrate`
* Run `rails db:seed` to populate the database with some sample data.
* Run `rails s` to start the server.
* In your browser, go to `http://localhost:3000`.
### Test
* Run `gem install rspec` to install Rspec,
* Run `rspec spec` to run all the test cases, and
* Run `rspec spec/models` to run test cases for `models`.
* Run `rspec spec/requests` to run test cases for `controllers`.
* Run `rspec spec/features` to run test cases for `views`.
* Run `rspec spec/filepath/filename.rb` to run test cases individually.
👤 **Md Tariq-ul Islam**
- GitHub: [@developertariq](https://github.com/developertariq)
- Twitter: [@developer-tariq](https://twitter.com/developer_tariq)
- LinkedIn: [@developer_tariq](https://www.linkedin.com/in/developer-tariq/)
👤 **Newton Alumasa**
- [Github](https://github.com/altontonn/)
- [Twitter](https://twitter.com/AlumasaNewton)
- [Linkedin](https://www.linkedin.com/in/newton-alumasa/)
- [ ] **Optimized Database**
- [ ] **Better UI Experience**
Contributions, issues, and feature requests are welcome!
Feel free to check the [issues page](../../issues/).
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](./LICENSE/MIT.md) licensed.