npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

backend-craft-wizard

v1.0.1

Published

Backend-Craft-Wizard is a JavaScript tool designed to automate and streamline backend project generation based on contextual data samples.

Downloads

11

Readme

Backend-Craft-Wizard

Backend-Craft-Wizard is a Node.js tool designed to automate and streamline backend project generation based on contextual data samples and predefined types. It simplifies the process of creating backend structures by generating necessary files and directories, tailored to your project's needs. This tool helps you quickly set up a FastAPI or Node.js Express backend with MongoDB, complete with models, routes, services, controllers, and configuration files.

Features

  • Automatic Backend Project Generation: Create backend projects with FastAPI or Node.js Express and MongoDB configurations based on sample data and predefined types.
  • Dynamic File Generation: Automatically generates models, controllers, services, routes, and config files based on provided types and sample data.
  • Structured Directory Setup: Automatically creates the necessary directories and files, including models, routes, controllers, services, and configuration files.
  • Seamless Integration: Includes entry points for both FastAPI (main.py) and Node.js Express (server.js) for easy integration and deployment.
  • Environment Setup: Dynamically creates a Python virtual environment for FastAPI projects, installs dependencies, and starts the server.
  • Help Commands: Easily access help and explanations for all available commands.

Installation

You can install Backend-Craft-Wizard globally or locally in your Node.js project using npm or yarn.

Global Installation

npm install -g backend-craft-wizard

or

yarn global add backend-craft-wizard

Local Installation

npm install backend-craft-wizard --save-dev

or

yarn add backend-craft-wizard --dev

Usage

Once installed, you can use the command line interface to generate the necessary files and directories for your backend project.

Command Line Interface

Run the following command to generate the backend project structure and necessary files:

npx server <type-name> <framework> mongodb
  • Replace <type-name> with one of the type names from the list in the command categories and options section.
  • Replace <framework> with either python-fastapi for FastAPI or nodejs-express for Node.js Express.

Project Structure

After running the command, the tool will create the following directory structure:

For FastAPI:

/backend
  ├── config
  │   ├── database.py
  │   └── settings.py
  ├── controllers
  │   └── <generated controllers>
  ├── models
  │   └── <generated models>
  ├── routes
  │   └── <generated routes>
  ├── services
  │   └── <generated services>
  ├── utils
  │   └── common_utils.py
  ├── main.py
  ├── .env
  └── venv

For Node.js Express:

/backend
  ├── config
  │   └── database.js
  ├── controllers
  │   └── <generated controllers>
  ├── models
  │   └── <generated models>
  ├── routes
  │   └── <generated routes>
  ├── services
  │   └── <generated services>
  ├── utils
  │   └── commonUtils.js
  ├── server.js
  ├── .env
  └── node_modules
  • backend/config/database.js: Contains MongoDB connection setup for Node.js Express.
  • backend/config/database.py: Contains MongoDB connection setup for FastAPI.
  • backend/controllers/: Holds the controller files, where the logic is handled.
  • backend/models/: Contains the Mongoose (Node.js) or Pydantic (FastAPI) models generated from your types.
  • backend/routes/: Holds the Express routes (Node.js) or FastAPI route files.
  • backend/services/: Contains service files where business logic is managed.
  • backend/utils/commonUtils.js: Contains common utility functions for Node.js Express.
  • backend/utils/common_utils.py: Contains common utility functions for FastAPI.
  • backend/server.js: Entry point for your Node.js Express application.
  • backend/main.py: Entry point for your FastAPI application.
  • backend/.env: Environment configuration file.
  • backend/venv/: Virtual environment directory for Python dependencies.

Command Categories and Options

1. Data Management Types

Generate types and sample data for various data management needs:

  • dataset-data: Types and data for datasets.
  • evaluation-metrics: Types and data for evaluation metrics.
  • interactive-exercises: Types and data for interactive exercises.
  • learning-progress: Types and data for tracking learning progress.

2. Financial Management

Generate types and sample data for financial management:

  • investment-portfolios: Types and data for investment portfolios.
  • market-trends: Types and data for market trends.
  • financial-reports: Types and data for financial reports.

3. Customer and Supply Chain Management

Generate types and sample data for customer and supply chain management:

  • crm: Types and data for customer relationship management, including customer details and interaction history.
  • supply-chain-management: Types and data for managing supply chain aspects like inventory levels and order status.

4. Developer and User Profiles

Generate types and sample data for profiles:

  • developer-profile: Types and data for developer profiles.
  • user: Types and data for user profiles.

5. Health and Nutrition

Generate types and sample data for health and nutrition:

  • meal-plans: Types and data for meal plans and dietary restrictions.
  • mental-health: Types and data for mental health, including therapy session notes and mood tracking.
  • medical-records: Types and data for medical records.
  • treatment-plans: Types and data for treatment plans.

6. Media and Entertainment

Generate types and sample data for media and entertainment:

  • playlist-data: Types and data for music playlists and streaming metrics.
  • episode-metadata: Types and data for TV episode metadata and cast data.
  • music-streaming: Types and data for music streaming metrics.

7. Environment and Agriculture

Generate types and sample data for environmental and agricultural management:

  • air-quality: Types and data for air quality monitoring.
  • water-quality: Types and data for water quality monitoring.
  • weather-data: Types and data for weather data.
  • soil-data: Types and data for soil data.
  • farm-activities: Types and data for farm activities and management.
  • crop-data: Types and data for crop management.

8. Technology

Generate types and sample data for various technology-related information:

  • model-data: Types and data for AI model data.
  • deployment-info: Types and data for deployment configurations.

9. Media

Generate types and sample data for media:

  • audio: Types and data for audio content, including metadata and formats.
  • video: Types and data for video content, including metadata and formats.
  • image-metadata: Types and data for image metadata.
  • image-tags: Types and data for image tags.
  • image-usage: Types and data for image usage statistics.

10. Event and Education

Generate types and sample data for events and educational purposes:

  • event: Types and data for event management, including event details and scheduling.
  • education-game: Types and data for educational games and their mechanics.

New Command

The following command has been added to generate Node.js Express backends:

npx server <type-name> nodejs-express mongodb

This command allows you to generate a Node.js Express backend with MongoDB, similar to the FastAPI generation feature.

Help Commands

  • To list all available commands and their explanations:

    npx server --help
  • To get help on a specific command:

    npx server <type-name> --help

Contributing

Contributions to Backend-Craft-Wizard are welcome! If you have ideas for improvements or find any issues, please open an issue or submit a pull request on the GitHub repository.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

For questions or support, please reach out to [email protected].