Projects

RESTasaurus

A dinosaur REST API built using Express, MongoDB and Mongoose with comprehensive data for almost 1200 dinosaurs.

Technologies Used

JavaScriptNode.jsExpress.jsMongoDBMongooseSinonMochaChai

Timeline

Jan 2024 - Feb 2024

Co-Authors

This project was completed individually

Key Accomplishments

  • Developed a fully functional dinosaur REST API using Express, MongoDB, and Mongoose and hosted it via Render.
  • Designed MongoDB schemas for Dinosaur, ClassificationInfo, DinosaurImage, and DinosaurSource info, and created a JavaScript class, MongooseData for use in data retrieval and processing prior to converting to schemas.
  • Achieved 100% test coverage with over 200 tests using Sinon, Mocha, Chai and Istanbul, and showcased this with badges in the README.
  • Built a comprehensive and user-friendly documentation website with Docusaurus, hosted via GitHub pages.
  • Utilized Swagger Editor to create OpenAPI specification for all routes and MongoDB schemas.
  • Automated CI pipeline with GitHub Actions to enforce linting and formatting with Biome, as well as automate releases using Semantic Release.
  • Developed scripts to retrieve and process data from Wikipedia articles via its API, and save the data to the MongoDB database.