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 2024Co-Authors
This project was completed individuallyKey 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.