Skip to content

neighlyd/medievalpeasants

Repository files navigation

Medieval Peasant Database

The Medieval Peasant Database (MPDB) is a free, open-source, and accessible database for the wealth of England's manorial court documentation. The website began as a place to store my own dissertation research. However, the need for archival preservation and to give future scholars access to my work drove me to create the MPDB. The website, database, and this source code are the result of these efforts.

Access

To access and look through the data currently in the database, simply navigate to the MPDB.

Contribution

If you wish to contribute to the project code, please open an Issue or submit a pull request.

If you wish to contribute to the project data set, please contact me.

Source Code and Website

The MPDB is primarily intended to be accessed through its website, rather than cloned and run on its own. This is because much of its usefulness relies on the data in its MySQL database. The website structure itself, which this repository represents, is only a portal to that database. I have made the website open sourced to the fullest extent possible for several reasons:

  • To increase transparency in the project.
  • To ensure that the project will outlive me.
  • To aid in security and robustness.
  • To encourage further engagement with technology among historians and with history among technologists.

Technologies

The MPDB. was primarily written using Django. I used JQuery and Datatables to make the website more responsive. These responsive technologies interact with the Django backend using a REST API framework powered by Django Rest Framework. This API is read-only at the moment. The data in the data MPDB. is currently intended for consumption through the website rather than the API. This is a feature that I will be changing in the future to facilitate further integration with other technologies.

Challenges and Learnings

Creating and maintaining the MPDB came with several challenges and learning opportunities ranging from UX research to teaching myself how to code. Working on the project was an immense opportunity for me.

The first challenge in developing the MPDB was understanding what technologies the project needed. I knew that I needed a robust way to store the volume and scope of data I was dealing with. I quickly recognized that spreadsheets and document files were unwieldy and not rigorous enough. This brought me to databases and learning about database normalization.

Initial Research

I initially coded the MPDB in Access. As the connections between peasants, land, and cases became sufficiently complicated, so too did the forms used to enter and edit them. At the same time, I found myself questioning the amount of work that previous historians had done on these topics which was lost to posterity. These two factors led me to search for an easily scalable, web-friendly solution.

I researched several solutions. Because I was already dealing with a relational database, I ruled out NoSQL alternatives such as MongoDB running on Node.js. This led me to choosing between Ruby on Rails and Django. I opted for Django due to the simplicity and straightforwardness of Python.

My next challenge was perhaps my largest - I had to learn how to code.

Learning to Code

After choosing Django as my web framework. I was confronted with the simple fact that I didn't know how to write a single line of code. To implement my vision of a free, open, and accessible repository of medieval court data, I needed to teach myself how to read and write code.

I began using tutorials, blogs, and educational series such as MIT's opencourseware to learn the fundamentals of Python and coding. I wrote, and rewrote, the MPDB as I learned. As the complexity of my project grew, the need to learn more grew as well. Each new speed bump presented itself as an opportunity for me to educate myself on additional features of programming, such as data structures, reading documentation, algorithms, APIs and REST frameworks, using git, and contributing to open source projects.

Usability and UX Research

Expanding access to research materials is a core feature the MPDB. In order to facilitate this, I engaged in a series of Usability and User Experience research sprints. I contacted several prominent historians within my field and interviewed them. These interviews covered a wide range of topics, including their own research methods, interactions with technologies, where they saw the field moving, and also included usability studies with my website.

I incorporated the feedback and learnings from these interviews into the design and implementation of the MPDB.

TODO

  • Setup API to be more responsive to external requests.
  • Integrate additional, responsive CRUD elements to expand user engagement.
  • Add unit tests
  • Polish code

About

A website for my dissertation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published