The eulaw.app project provides access to six new databases on European Union (EU) law created by Joshua C. Fjelstul, Ph.D. based on official data from the European Commission. It's the largest collection of research-ready quantitative data on EU law.
The 6 eulaw.app databases include 60+ datasets that contain data on the corpus of EU law, the internal organization of the European Commission, Commission infringement cases, Commission state aid cases and state aid awards granted by member states, technical regulations proposed by member states, and more.
Data from the eulaw.app databases has been used in studies published in leading political science and public administration journals including the American Political Science Review, the Journal of European Public Policy, and European Union Politics.
The broader eulaw.app project provides an R package for each database that allows researchers to access all of the data and documentation directly in R. It also provides a REST API that researchers and developers can use to pull data from the eulaw.app database and an R package, eulaw, that provides an easy-to-use interface to the API, allowing users to access data from any of the eulaw.app databases using a single interface.
I'm a political economist and data scientist. I'm currently a Post-Doctoral Research Fellow in the Department of Political Science and International Relations at the University of Geneva in Geneva, Switzerland. My fellowship is funded by the Research Council of Norway.
I received my Ph.D. in Political Science from Emory University in 2019. I also have an M.A. in Political Science from Emory, a B.A. in Government and History, with Special Honors in Government, from the College of Liberal Arts at The University of Texas at Austin, and a B.B.A. in the Canfield Business Honors Program (CBHP) from the McCombs School of Business at The University of Texas at Austin.
My research interests are at the intersection of international political economy, comparative politics, and international relations. I study the strategic interactions between domestic and international political institutions in political and legal disputes over policy implementation and compliance with international law. My empirical work focuses on the institutions of the European Union (EU), particularly the European Commission and the Court of Justice of the European Union (CJEU).
My methodological interests include analytical and computational game theory, agent-based modeling, structural estimators for game-theoretic equilibria, machine learning (especially deep neural networks for text data), quantitative text analysis, natural language processing, and causal inference for policy evaluation.
The eulaw.app web app was developed by Joshua C. Fjelstul, Ph.D. It uses a variety of technologies (MariaDB, Express.js, React.js, Node.js, Nginx, and D3), languages (JavaScript, JSX, HTML, CSS, JSS, and R), and data formats (json, CSV, and RData) to make data from the eulaw.app databases available to users.
The app has two main components: the frontend (the interactive part) and the backend (the database and API). I use modern, cutting-edge technologies in the web stack, including MariaDB (for the database), Express.js (for the API), React.js (for the web app), and Node.js (for the web server).
The frontend is the interactive, user-facing part of the web app. I built the frontend using a JavaScript framework called React.js, which was created by Facebook. React lets you build web apps from custom, reusable components written in JavaScript and JSX, which is mix of HTML and JavaScript.
All of the interactive components use a React-specific component library called Material-UI, which is the best-available implementation of Google’s design language (a cohesive set of design principles), which is called Material. I use CSS and JSS to style the web app.
The backend is the part of the web app that provides data to the front end. The backend has two components: a MariaDB database and a REST API. All of the code for the front end is available in the respository jfjelstul/eulaw-app-API on GitHub. I use MariaDB for the database, which is an open-source version of MySQL. The API allows users to directly query the database. When a user uses the web app to request data from the database, the front end looks at the selections the user has made and constructs a call to the API. An API call is a URL with optional parameters that specify what data the server should pull from the MariaDB database.
I wrote the API in JavaScript using Express.js, which is a server framework for Node.js (an open-source JavaScript runtime environment). The API looks at requests made by users (the URL it gets from the frontend), converts it to an SQL query, and asks the MariaDB database for the data.
The API gets the data in json format, which is the standard way of sending data over an HTTP connection, and sends that back to the frontend. The frontend then parses that json data and converts it into an HTML table that the user can interact with in the web app using a combination of JavaScript, HTML, and JSX. The backend can also provide data in CSV format, which the frontend will package up and save into the user's downloads folder. The API provides data to the R package for the project, eulaw, providing another way for researchers to interact with data. The R package is available from the respository jfjelstul/eulaw on GitHub.