A rails frontend for a service oriented application. A user can enter in data about their menstral cycle as well as their horoscope so Astroflow can provided a one stop shop of astrology and flowology.
To see the Backend application on github for this project click here.
To visit the application on heroku click here
The design of this application relies on the facade design pattern. Here's a very high level overview:
- A controller sends a request from the front end and intiates the creation of a facade, and passes it data(params, from JSON or query) in the backend.
- A facade is a ruby class that initializes a Service, and sends the service data to a PORO.
- A service calls an external api enpoint(get (https://web.site?optional_param) ) and returns parsed JSON.
- The parsed JSON is turned into a Ruby object through a PORO.
- The object is serialized and sent to the route matching the controller action.
- Additionally, this project uses
Google OAuth 2.0
for users to create and log into their accounts.
🩹Jessica Grazulis 🌚TJ Williams 🌝Joe Galvin 🩸Sully Birashk 🔮Sam Ivari
ruby 2.7.4
rails 5.2.6
- clone this repository
- cd into 'astroflow_frontend' directory
- run
'bundle install' to install gems
- run
rake db:{drop,create,migrate,seed} to prepare the database
- run
bundle exec rspec
to run the test suite - run
rails s
to launch the production environment - send requests to "https://localhost:3000".
Dashboard After registering as a user through a google account the user is brought to the user dashboard where they can review their horoscopes.