/Jsonify-RestAPI

An open-source solution for serving JSON data, ideal for educational purposes and building diverse projects requiring JSON data handling. Make sure to share love by giving it a star.🌟 Have a great day!

Primary LanguageJavaScriptMIT LicenseMIT

Jsonify

Problem

We are trying to build a single source API hub that can be used to learn api handling in any programming language. Users can build their multiple web apps and test this using this api hub.

Open Source: Jsonify is an open-source API, which means its source code is freely available for inspection, modification, and collaboration. This open nature promotes transparency and community-driven development.

Mock Data Generation: Jsonify specializes in generating mock data. It offers a convenient way for developers to create simulated data that mimics real-world scenarios, making it invaluable for testing and development purposes.

Project Building: Developers can utilize Jsonify to build projects effectively. The ability to generate custom mock data allows for seamless integration into web applications, websites, or any software project where realistic data is needed.

Teaching and Learning: Jsonify serves as an educational tool. It can be used to teach data generation and manipulation techniques, making it a valuable resource for both students and educators looking to explore real-world data scenarios in a controlled environment.

Expanding Data Collection: Jsonify boasts a growing collection of mock data sets. With data covering various domains, including restaurants, developers, and more on the horizon, Jsonify ensures a diverse and expanding range of data to suit different project needs.

Documentation: The Jsonify API offers comprehensive documentation available at Jsonify API Documentation https://jsonify-docs.vercel.app . This resource likely provides detailed information on how to use the API effectively, further enhancing its usability for developers and project builders.

🏁 Installation

📦 Using Docker (recommended)

To run the Jsonify API project, follow these steps:

  1. Install Docker on your machine.
  2. Clone the project repository.
  3. Navigate to the project directory.
  4. Create .env file in the root folder and copy paste the content of .env.sample, and add necessary credentials.
  5. Run the Docker Compose command:
docker-compose up --build --attach jsonify

# --build: Rebuild the image and run the containers
# --attach: only show logs of Node app container and not mongodb

💻 Running locally

To run the Jsonify project locally, follow these steps:

  1. Install NodeJs,Redis,MongoDB and MongoDB Compass (optional) on your machine.
  2. Clone the project repository.
  3. Navigate to the project directory.
  4. Create .env file in the root folder and copy paste the content of .env.sample, and add necessary credentials.
  5. Install the packages:
npm install
  1. Run the project:
npm run dev

Application Structure

Models: In this directory, you'll discover all the database schemas, and you have the option to modify or enhance schemas for applications

Controllers: Within this directory, you'll find all the API methods for performing CRUD operations, which will be executed via API URLs.

Middleware: We've implemented error handling methods in the middleware. Any methods that should run before executing a respective controller during an API call will be defined within this directory.

Routes: We've established the API routes within this directory, so any new route will also be defined here.

Config: We've included third-party configurations in our application such as MongoDB, Limiter, logger, and Redis. Any additional configurations will be placed within this directory.

🙏 Thank You!

We want to express our gratitude to all the contributors and users of Jsonify. Your support and involvement in this open-source project make it what it is today. Jsonify wouldn't be possible without the community's collaboration and feedback.

If you have any questions, feedback, or would like to contribute, please don't hesitate to reach out. Together, we can continue to improve and expand Jsonify for the benefit of developers and learners worldwide.

Happy coding!