MockIt: A tool to quickly create mocked APIs.
Stop wasting time mocking APIs. MockIt gives you an interface to configure and create REAL mocked endpoints for your applications. Whilst you wait for APIS to be built use MockIt to talk to a real service.
Features: Live Reload, Chaos Engineering, Authentication, CORS and more...
The problem
When building applications you often need to interact with services. When the services are not ready to be consumed you have a few options:
- Mock out the response with a JSON file
- Create a mock service yourself
- Use MockIt.
This solution
This tool was designed to help developers quickly create endpoints for their applications. No need to create a server, just use docker and run this project locally. You can create, edit and manage routes to your API. Every change to the API will be reflected on the server and updated straight away.
This tool comes with a few features out the box:
- CORS
- Basic Authentication
- Chaos Monkey (Unleash a monkey to take down your endpoints)
More information about how it works, its features can be found on the docs.
Getting Started
Make sure you have docker running
git clone https://github.com/boyney123/mockit.git
cd mockit && docker-compose up --build -d
Once everything is up and running go to http://localhost:5000 to see MockIt.
For instructions on how to use MockIt please see the documentation.
Permissions
If you get error: Couldn't connect to Docker daemon at http+docker://localhost - is it running?
you might need run with sudo
sudo docker-compose up --build -d
Local install and running tests
If you want to install and run the tests for all apps then you can run this script:
sh install-and-test.sh
If you have any problems with permissions you might need to chmod the file
chmod +x install-and-test.sh && ./install-and-test.sh
Viewing the dashboard, server and API
Once Docker is running you have three applications running on the machine.
- The client: http://localhost:5000
- The client-server: http://localhost:4000
- The MockIt API (this is the server that runs your API): http://localhost:3000
If you want to view the dashboard to get started go to http://localhost:5000.
If you want to interact with your new API go to http://localhost:3000.
For example, if you have a /user
route setup, go to http://localhost:3000/user to view the data.
Tools
Documentation
Testing
Contributing
If you have any questions, features or issues please raise any issue or pull requests you like.
Donating
If you find this tool useful, feel free to buy me a โ ๐
License
MIT.
Contributors
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!