Skip to main content

A CLI tool that simplify React and Django Implementation.

Project description

๐Ÿš€ React Tango Creator (reactango)

React Tango Creator Logo

PyPI version Python Version License: MIT Downloads

The fastest way to bootstrap modern full-stack applications with React + Django

Quick Start โ€ข Features โ€ข Installation โ€ข Usage โ€ข Documentation


โœจ What is React Tango Creator?

reactango is a powerful command-line tool that instantly scaffolds production-ready full-stack applications using the ReactTangoTemplate. It combines the best of modern frontend and backend technologies:

Stop wasting time on boilerplate setup and start building features from day one!

๐ŸŽฏ Quick Start

Get your new project running in under 30 seconds:

# Install reactango globally
pip install reactango

# Create your new project
reactango create my-awesome-project

# Navigate to your project
cd my-awesome-project

That's it! Your full-stack application is now ready!

๐ŸŒŸ Features

๐Ÿ—๏ธ Instant Project Scaffolding

  • Creates a complete full-stack project structure in seconds
  • No manual setup or configuration required
  • Ready-to-use development environment

๐Ÿ”„ Clean Git History

  • Automatically initializes a fresh Git repository
  • Removes template history for a clean start
  • Makes initial commit with all template files

โš™๏ธ Modern Tech Stack

  • React 18 with hooks and modern patterns
  • TanStack Router for type-safe routing
  • Vite for lightning-fast development
  • Django with REST Framework for robust APIs
  • TypeScript for type safety across the stack

๐Ÿณ Containerized Development

  • Docker Compose setup included
  • Consistent development environment
  • Easy deployment and scaling

๐Ÿ› ๏ธ Developer Experience

  • Hot reloading for both frontend and backend
  • Pre-configured linting and formatting
  • Organized project structure
  • Comprehensive documentation

๐Ÿ“ฆ Installation

Install from PyPI (Recommended)

pip install reactango

๐Ÿš€ Usage

Basic Usage

Create a new project with the default template:

reactango create my-project-name

Advanced Options

# Create project with custom branch
reactango create-app my-project --branch feature-branch

# Skip automatic Git initialization
reactango create-app my-project --no-git

# Show help
reactango --help

Command Options

Option Description Default
project_name Name of your new project Required
--branch Specific branch of the template to use main
--no-git Skip Git repository initialization False
--help Show help message -

๐Ÿ“š What You Get

After running reactango create-app, your project will have:

/ (root)
โ”œโ”€โ”€ api/                  # Django api
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ admin.py
โ”‚   โ”œโ”€โ”€ apps.py
โ”‚   โ”œโ”€โ”€ models.py
โ”‚   โ”œโ”€โ”€ urls.py
โ”‚   โ”œโ”€โ”€ views.py
โ”‚   โ”œโ”€โ”€ welcome/
โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚   โ”œโ”€โ”€ urls.py
โ”‚   โ”‚   โ”œโ”€โ”€ views.py
โ”‚   โ”‚   โ”œโ”€โ”€ __pycache__/
โ”‚   โ”‚   โ””โ”€โ”€ models/
โ”‚   โ”‚       โ”œโ”€โ”€ __init__.py
โ”‚   โ”‚       โ””โ”€โ”€ welcome.py
โ”‚   โ””โ”€โ”€ __pycache__/
โ”œโ”€โ”€ app/                  # React app (TanStack Router)
โ”‚   โ”œโ”€โ”€ app.css
โ”‚   โ”œโ”€โ”€ root.tsx
โ”‚   โ”œโ”€โ”€ routes.ts
โ”‚   โ”œโ”€โ”€ routes/
โ”‚   โ”‚   โ””โ”€โ”€ home.tsx
โ”‚   โ””โ”€โ”€ welcome/
โ”‚       โ”œโ”€โ”€ logo-dark.svg
โ”‚       โ”œโ”€โ”€ logo-light.svg
โ”‚       โ””โ”€โ”€ welcome.tsx
โ”œโ”€โ”€ config/               # Django config
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ asgi.py
โ”‚   โ”œโ”€โ”€ settings.py
โ”‚   โ”œโ”€โ”€ urls.py
โ”‚   โ”œโ”€โ”€ wsgi.py
โ”‚   โ””โ”€โ”€ __pycache__/
โ”œโ”€โ”€ public/               # Static assets
โ”‚   โ””โ”€โ”€ favicon.ico
โ”œโ”€โ”€ db.sqlite3
โ”œโ”€โ”€ Dockerfile
โ”œโ”€โ”€ install.js
โ”œโ”€โ”€ manage.py
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ pnpm-lock.yaml
โ”œโ”€โ”€ react-router.config.ts
โ”œโ”€โ”€ requirements.txt
โ”œโ”€โ”€ tsconfig.json
โ”œโ”€โ”€ vite.config.ts
โ””โ”€โ”€ README.md

๐Ÿ”ง Prerequisites

Before using reactango, ensure you have:

  • Python 3.7+ with pip
  • Git for version control
  • Node.js 16+ (if running frontend outside Docker)

Getting Started

Backend (Django)

  1. Install Python dependencies:
    pip install -r requirements.txt
    

Frontend (React + TanStack Router)

  1. Install Node dependencies:
    pnpm install
    

Install All (Backend + Frontend)

  1. Run the installer script (with interactive options):
    node install.js
    
    • Use --backend-only to install only Django dependencies
    • Use --frontend-only to install only frontend dependencies
    • Use --with-venv to create and use a Python virtual environment

Simple RUN

  1. Run this:
    pnpm run dev
    

๐Ÿค Contributing

We welcome contributions! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Run tests: python -m pytest
  5. Commit your changes: git commit -m 'Add amazing feature'
  6. Push to the branch: git push origin feature/amazing-feature
  7. Open a Pull Request

๐Ÿ“ License

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

๐Ÿ› Issues & Support

๐Ÿ™ Acknowledgments

  • Built on top of the powerful ReactTangoTemplate
  • Inspired by tools like Create React App and Django startproject
  • Thanks to all contributors and the open-source community

Made with โค๏ธ for the developer community

โญ Star us on GitHub if this project helped you!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reactango-1.2.0.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reactango-1.2.0-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file reactango-1.2.0.tar.gz.

File metadata

  • Download URL: reactango-1.2.0.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for reactango-1.2.0.tar.gz
Algorithm Hash digest
SHA256 d52ba6f412e41bc5bb0fbf5737a95765bccfc35ee19fc9cd34e89e1b8745db91
MD5 629e7fb45a9499708811a6df4330b99a
BLAKE2b-256 475de07e5abd5ddfb418291719e235764fe080b86ccdbb86173e1e41b7bf3004

See more details on using hashes here.

File details

Details for the file reactango-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: reactango-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for reactango-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1cf03457867c36e8a8773349dfaa1e25db3e6bac14af39db7bca5432574a6e73
MD5 04efc901b90e0c3289f03cda56a3ec46
BLAKE2b-256 6cbedec3e05c894e5e5cb72be275becefca02d25aed8497f64190848a646db0f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page