Hello Rails Back-End is a Rails API app that provides random greetings through an API endpoint. This project meets the following requirements:
- Create a Rails API app called 'hello-rails-back-end'.
- Initialize the project with Git.
- Set up a Postgres database and create a table for storing messages.
- Populate the table with 5 different greetings.
- Create an API endpoint that selects a random greeting from the table.
This back-end application is designed to work in conjunction with the Hello Rails Front-End project. The back-end project provides a server API, and the front-end application makes requests to http://localhost:3000/api/v2/greetings/random
to fetch random greetings. Ensure that the back-end server is running before using this application.
- Ruby on Rails framework
-
Use Linters to check code quality
- Rubocop
- MVC architectural/design pattern
- Data persistent in PostgreSQL
- RESTful API
- GET /api/v2/greetings/random
- Returns a random greeting from the database.
To get the project up and running on your local machine, follow these steps.
Before you begin, make sure you have the following prerequisites installed on your system:
- Ruby: You need Ruby to run the Rails application.
- Bundler: Bundler is used to manage gem dependencies in your Ruby project.
- Postgres: You need Postgres as the database for the Rails app.
Clone this repository to your desired folder:
git clone https://github.com/hafiz1379/hello-rails-back-end.git
cd hello-rails-back-end
Install gem dependencies:
bundle install
Set up the database:
rails db:create
rails db:migrate
rails db:seed
To run the project, execute the following command:
rails server
The API will be accessible at http://localhost:3000/api/v2/greetings/random
.
π€ Hafizullah Rasa
- GitHub: Hafiz Rasa
- LinkedIn: Hafiz Rasa
Upcoming improvements:
- Add the endpoints to create, update and delete a greeting
- Deploy the application
Find a bug or have a feature request? Open a new issue here on GitHub.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
If you find this project helpful, please consider starring the repository. Your support is greatly appreciated!
This project is licensed under the MIT License - see the LICENSE.md file for details.