This repo was written as part of the Turing School of Software Design's solo project requirements for Mod 3. I was tasked with building an API from data dumped from a previous project, Little Esty Shop. Using service-oriented architecture, I built a ready to consume API capable of executing several actions from the original project. The project was intended to develop and evaluate my skill in:
- Exposing an API.
- Using serializers to format JSON responses.
- Testing API exposure.
- Using SQL and AR to gather data.
- must use Rails 5.2.x
- must use PostgreSQL
- must be tested using both PostMan and RSpec, including sad paths and edge cases
- must adhere to git workflow norms
- must submit 10-12 minute presentation of the project
- must include a thorough README to describe the project
This project requires Ruby 2.7.4.
- Fork this repository
- Clone your fork
- From the command line, install gems and set up your DB:
bundle
rails db:{drop,create,migrate,seed}
rails db:schema:dump
- Run the test suite with
bundle exec rspec
. - Run your development server with
rails s
to see the app in action.
This project was a useful way to become acquainted with service-oriented architecture. I was able to successfully complete all project requirements before the deadline, then expand my learning by code sharing with my peers. While I saw opportunities to improve the project with more robust testing and some unaddressed edge cases not noted by the project (I.E. when searching by a range of prices, a max should not be able to be less than a min) I decided that I could get more immediate value out of my time doing some other practice rather than expand into these areas. Regardless, I believe this project was a strong pass overall, and I can speak to areas of improvement that I will add to my next project.