Skip to content

girishsaraf/hack-quickstart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hack-quickstart

A Fullstack Project Generator

Overview

hack-quickstart is a command-line tool designed to generate a full-stack application that can be initiated with Docker. It supports multiple backend frameworks, frontend frameworks, and databases. Based on your input, the generator creates a project structure that includes:

  • A backend service (using either Flask, FastAPI, or Django).
  • A frontend service (using React, Angular, or Vue).
  • A database service (using MySQL or PostgreSQL).
  • A complete Docker Compose setup that ties all these services together.

This tool is modular and extensible

  • New frameworks or services can easily be added by introducing new templates.
  • Existing frameworks can be updated to incorporate starter code

Supported Technologies

Technology Supported Version
Python 3.10
Node 20
MySQL 8
PostgreSQL 15
Component Supported Options
Backend Flask, Django, FastAPI
Frontend React, Angular, Vue
Database MySQL, PostgreSQL

Prerequisites for using this service

  • Docker Desktop installed on your machine - to initialize and run the generated project
  • Python 3.6+ installed on your machine to run the generator script
  • Jinja2 for rendering Docker templates If not installed, use the following command to install using pip:
    pip install jinja2

Run the script from the command line using Python. Example:

python hack-it-up.py --backend <backend> --frontend <frontend> --db <database> --output <output_dir>

Example

python hack-it-up.py \
    --backend flask \
    --frontend react \
    --db mysql \
    --output /Users/username/Desktop/Projects/my_new_project

Command-line Arguments

  • --backend: Backend choice (Use django, fastapi, flask)
  • --frontend: Frontend choice (Use react, angular, vue)
  • --db: Database choice (Use mysql, postgres)
  • --output: Path to the generated output directory structure (Full path)

Note

Ensure that the output directory is accessible to the code

Running the project

Once the project is initialized successfully using the above command, you should see the following directory structure:

|---backend/
|   |---Dockerfile
|   |---<backend_files>
|---frontend/
|   |---Dockerfile
|   |---<frontend_files>
|---docker-compose.yml

cd to this directory from terminal and initialize the project using the command:

docker-compose up --build

About

Project to Quickstart a docker setup for hackathons - with a Python Flask backend and a Reactjs frontend, with a MySQL Database

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors