Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FIX : Added Demo video in the readme.md file #17

Merged
merged 2 commits into from
Feb 24, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
177 changes: 77 additions & 100 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,143 +1,120 @@
# STACKD: Full-Stack Web Scaffolding Tool
# STACKD - Full-Stack Scaffolding Tool

STACKD is a powerful CLI-based scaffolding tool designed to help developers rapidly set up full-stack applications with customizable configurations. It automates the setup process, integrating authentication, database configurations, and UI libraries, making development faster and more efficient.
STACKD (Abbreviation TBD) is an open-source scaffolding tool that simplifies the process of setting up a full-stack web application. It allows developers to generate a project with pre-configured frontend, backend, database, authentication, and other essential components in just a few clicks.

## 📖 Table of Contents

## Table of Contents
- [Motivation](#motivation)
- [Features](#features)
- [Tech Stack Options](#tech-stack-options)
- [Installation](#installation)
- [Usage](#usage)
- [Future Ideas](#future-ideas)
- [License](#license)

- Working
- CLI Tool/Web tool
- Configuration-Based Setup
- Features
- Customizable Project Setup
- Live Terminal Logs in GUI
- Use Cases
- Technologies Used
- Architecture
- CLI Tool Architecture
- Backend Architecture
- Team
- Contribution
## 💡 Motivation

## Working
We got the motive to build this application because every time me and my team went for a hackathon, it used to take a lot of time to set up the project with basic things like frontend, UI setup, backend, ORM connection, authentication, and other configurations. People in the work environment also struggle with this, so we came up with this idea. STACKD allows programmers to jump directly into coding instead of spending time on tedious setup tasks.

### CLI Tool
## 🚀 Features

- **Flexible Project Setup**: Choose from multiple frontend, backend, database, and authentication options.
- **Automated Configuration**: Generates all necessary files, environment variables, and configurations.
- **Git Integration**: Initializes a Git repository and sets up the remote origin.
- **Pre-configured ORM & Database**: Automatically connects the chosen ORM with the selected database.
- **Instant Deployment Readiness**: Sets up authentication, UI frameworks, and other dependencies for a fully functional project.
- **Multiple Interfaces**: STACKD provides both a **CLI** and a **Graphical User Interface (GUI)** for easy project setup.

## 🎥 Demo

STACKD provides a command-line interface where users can quickly scaffold a full-stack project by answering a few prompts. It generates a structured codebase with backend, frontend, and database configurations pre-integrated.
### CLI Demo
https://github.com/user-attachments/assets/debe9515-a38f-4ba2-9126-b9b6f95e3a87

### Configuration-Based Setup
### Web Tool Demo
https://github.com/user-attachments/assets/465451f2-1e1a-48b6-a99e-253ef4f28e2d

STACKD offers a guided setup process where users can specify:\
✅ Project Name\
✅ Frontend & Backend Tech Stack (Next.js, React, Angular, Express, etc.)\
✅ Database & ORM (PostgreSQL, MySQL, Prisma, TypeORM, etc.)\
✅ Authentication Method (OAuth, JWT, etc.)\
✅ UI Library (Tailwind CSS, ShadCN)

## Features
## 🛠️ Tech Stack Options

### Customizable Project Setup
### **Frontend**

STACKD allows developers to select the tech stack and configurations best suited for their project, ensuring a tailored development experience.
- React.js
- React TypeScript
- Next.js
- Vue.js
- Vue TypeScript
- Angular TypeScript
- Django (Frontend Templates)

### Live Terminal Logs in GUI
### **Backend**

The GUI interface provides real-time logs from the CLI execution, helping users track progress in a visually appealing manner.
- Express.js
- Express TypeScript
- Django Rest Framework

### **Database**

## STACKD is ideal for:
- PostgreSQL
- MongoDB

✅ Individual Developers – Quickly scaffold full-stack apps without worrying about setup.\
✅ Startup Teams – Standardize tech stack and reduce setup time for new projects.\
✅ Software Engineering Teams – Maintain a consistent structure across multiple projects.\
✅ Hackathon Participants – Set up a ready-to-use environment instantly.\
✅ Educators & Students – Learn best practices in full-stack development through auto-generated projects.
### **ORM**

- Prisma
- Hazel
- Mongoose

### Core Stack
### **UI Framework**

- *Frontend:* React, Angular, Vue, Next.js, Tailwind CSS, ShadCN
- *Backend:* Node.js, Express.js, Django, NestJS
- *Database:* PostgreSQL, MySQL, MongoDB
- *Authentication:* OAuth, JWT

## Additional Stacks That Can Be Implemented
- ShadCN
- Tailwind CSS

- *Java Spring Boot*
- *Go*
- *Svelte*
### **Authentication**

## CLI & UI Components
- JWT
- NextAuth
- Passport

- *Inquirer.js* – For interactive command-line prompts
- *Chalk* – Provides colorful logs in the CLI
- *React & TypeScript* – For the GUI component
## 📦 Installation

### Prerequisites

## Installation & Setup
Make sure you have the following installed on your system:

- Node.js
- Git

### CLI Tool

### CLI Tool
To scaffold a new full-stack project, run:

## To scaffold a new full-stack project, run:
```sh
npm create @shivasankaran18/stackd new proj-name
```

This will prompt you with setup questions and generate the project with the selected configurations.

### Web Tool
## To launch the web-based setup tool locally, use:

``` sh
To launch the web-based setup tool locally, use:

```sh
npx @shivasankaran18/create-stackd setup
```

## ⚡ Usage

Select the frontend, backend, UI, database, ORM, authentication method, database URL, and GitHub URL, and **BOOM!** Your project is ready to work.

## 🔮 Future Ideas

## Architecture

### CLI Tool Architecture

STACKD follows a modular architecture where the CLI interacts with the backend services to fetch configurations and generate the project structure.

#### Data Flow:

1️⃣ User selects configurations in the CLI\
2️⃣ STACKD processes selections and generates the project\
3️⃣ Live logs are displayed in both CLI & GUI\
4️⃣ The generated project is ready for development

### Backend Architecture

STACKD has a lightweight backend that processes configuration requests and handles GUI interactions.

#### Data Flow:

1️⃣ The GUI sends configuration data to the backend\
2️⃣ The backend triggers the project generation script\
3️⃣ The generated project is pushed to the specified directory

## Team

🛠 *Team Name:* return 1\
🚀 *Team Members:*

- Shiva Shankaran ([GitHub Profile](https://github.com/shivasankaran18/))
- Yashwanth ([GitHub Profile](https://github.com/Yashwanth1906))
- Darshan ([GitHub Profile](https://github.com/DARSHANCSE))
- Shyam ([GitHub Profile](https://github.com/ShyamSunder06))

## Contribution

We welcome contributions and feedback from the community to enhance STACKD’s capabilities. Your insights help us refine the tool and add new features!

### Ways to Contribute:
- Adding desktop tools like **Electron**.
- Expanding support for more development tools and frameworks.
- Adding mobile app development tools.
- Building a **robust and efficient** platform that works across **Windows, Linux, and macOS**.
- Integrating **automated deployment** features, allowing users to deploy their applications instantly.
- Enabling **Git commit automation and CI/CD integration**, so projects stay updated with minimal manual effort.

✅ *Feature Suggestions* – Share ideas to improve the tool\
✅ *Issue Reporting* – Report bugs and help improve stability\
✅ *Code Contributions* – Submit pull requests for enhancements
## 📜 License

💡 Let's build better development tools together! 🚀
This project is licensed under the MIT License. You are free to use, modify, and distribute this software under the terms of the MIT LICENSE.

### 📜 License
This project is licensed under the MIT License.
Loading