Skip to content

developertariq/my-blog

Repository files navigation

📗 Table of Contents

📖 Blog app

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:

Data model

This project is designed following these wireframes:

Login page wireframe All users page wireframe Single user page wireframe

All posts by a given user page wireframe Single post page wireframe

🛠 Built With

Tech Stack

Key Features

  • Create a post
  • List all posts by users
  • Post details
  • User details
  • Like posts
  • Comment posts

(back to top)

💻 Getting Started

Prerequisites

  • 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.

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.

(back to top)

👥 Authors

👤 Md Tariq-ul Islam

👤 Newton Alumasa

(back to top)

🔭 Future Features

  • Optimized Database
  • Better UI Experience

(back to top)

🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

(back to top)

⭐️ Show your support

If you like this project, please consider giving it a star.

(back to top)

🙏 Acknowledgments

  • I would like to thank all code reviewers for making this project better.

(back to top)

📝 License

This project is MIT licensed.

(back to top)

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors