AllezPI.
Technologies used
- Node
- PostgreSQL
- NextJS
- AWS
- Prisma
Summary
AllezPI combines three of my passions: web development, road cycling and trivia. AllezPI is an easy-to-use API organised around REST: it utilises aggregated data relating to the Tour de France. In its current form, the dataset is composed of the following:
Every edition of the Tour de France since the inaugural race in 1903 with reference to riders who have won a classification competition.
Every rider who has won a classification competition, and the year(s) in which they were won by that specific rider.
In terms of future development, I will be introducing data on individual stages for each edition of the Tour de France in the next iteration.
View Repository & Documentation »
Check it out »Features
This iteration of AllezPI is split into two specific RESTful endpoints (riders and tours). These URLs provide comprehensive access to the dataset. The information is returned to the client in a JSON format.
Currently, no API key is necessary to access these endpoints, and no pagination is required—although this may change as the API becomes more complex and resource intensive.
Technical
Given my recent work with JavaScript frameworks, I wanted to implement my API using a JavaScript library-based ORM: therefore, I decided to use Prisma which works well with Node and NextJS.
With my experience using Ruby-on-Rails and its ORM, ActiveRecord—I found it easy to implement a schema and a set of queries for my relational postgreSQL database. Moreover, in order to get more experience with industry standard web services, I also decided to use AWS to host my postgreSQL database.