A community-driven platform for discovering and sharing software templates across different operating systems. SoftStackHub helps users find the right software setup based on their operating system and professional role.
SoftStackHub streamlines the process of setting up development environments, creative workstations, and productivity tools across Windows, macOS, and Linux. Whether you're a developer, designer, or content creator, you can find and share curated collections of tools that work best for your workflow.
- Browse software collections specific to Windows, macOS, and Linux
- Filter templates based on professional roles and use cases
- Create and share your own software setups
- Save drafts while creating templates
- Quick template creation through system scanning (yet to implement)
- GitHub OAuth authentication
- Personal dashboard with template analytics
- Vote on templates to help surface the best setups
- Track your voted and created templates
- Data privacy controls with account data deletion option
- Windows: Chocolatey package manager
- macOS: Homebrew package manager
- Linux: Support for apt, dnf, and pacman
- Frontend: Next.js 14 with TypeScript and App Router
- Styling: Tailwind CSS
- Authentication: NextAuth.js with GitHub provider
- Database: Supabase (PostgreSQL)
- Deployment: Vercel
- State Management: React Context API
-
Clone the repository:
git clone https://github.com/BytexGrid/SoftStackHub.git
-
Navigate to the project directory:
cd SoftStackHub/softstackhub
-
Install dependencies:
npm install
-
Set up environment variables:
NEXT_PUBLIC_SUPABASE_URL=your-supabase-project-url NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key GITHUB_ID=your-github-oauth-client-id GITHUB_SECRET=your-github-oauth-secret
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser
SoftStackHub/
├── softstackhub/ # Next.js application
│ ├── app/ # App Router pages and layouts
│ │ ├── (auth)/ # Authentication routes
│ │ ├── (os)/ # OS-specific template routes
│ │ ├── api/ # API routes
│ │ └── dashboard/ # User dashboard
│ ├── components/ # Reusable UI components
│ ├── lib/ # Utility functions and helpers
│ ├── public/ # Static assets
│ └── types/ # TypeScript type definitions
└── docs/ # Project documentation
/api/templates
- Template CRUD operations/api/templates/[id]/vote
- Template voting/api/templates/draft
- Draft management/api/user
- User profile management/api/auth/*
- Authentication endpoints
We welcome contributions from the community! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Please ensure your PR adheres to our coding standards and includes appropriate tests.
For detailed documentation, please visit our Wiki.
This project is open source under the GNU General Public License. See LICENSE for details.