{"id":29193696,"url":"https://github.com/lichamnesia/stashlog","last_synced_at":"2026-04-20T03:31:47.170Z","repository":{"id":302203867,"uuid":"1011556325","full_name":"LichAmnesia/Stashlog","owner":"LichAmnesia","description":"Stashlog is a premium content platform built with Next.js and Firebase, designed for creators to monetize their knowledge through exclusive, members-only courses and communities. | Stashlog 是一个使用 Next.js 和 Firebase 构建的高级内容平台，专为创作者设计，通过付费课程和私有社区将知识变现。","archived":false,"fork":false,"pushed_at":"2025-07-01T04:48:44.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-01T05:36:19.514Z","etag":null,"topics":["content-management","content-management-system","course-platform","firebase","firebase-auth","firebase-storage","membership-platform","nextjs","saas-boilerplate"],"latest_commit_sha":null,"homepage":"https://saas.alwa.info","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LichAmnesia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-01T02:21:51.000Z","updated_at":"2025-07-01T04:48:48.000Z","dependencies_parsed_at":"2025-07-01T05:36:30.339Z","dependency_job_id":null,"html_url":"https://github.com/LichAmnesia/Stashlog","commit_stats":null,"previous_names":["lichamnesia/stashlog"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LichAmnesia/Stashlog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LichAmnesia%2FStashlog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LichAmnesia%2FStashlog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LichAmnesia%2FStashlog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LichAmnesia%2FStashlog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LichAmnesia","download_url":"https://codeload.github.com/LichAmnesia/Stashlog/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LichAmnesia%2FStashlog/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263066558,"owners_count":23408387,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["content-management","content-management-system","course-platform","firebase","firebase-auth","firebase-storage","membership-platform","nextjs","saas-boilerplate"],"created_at":"2025-07-02T03:06:56.168Z","updated_at":"2026-04-20T03:31:47.134Z","avatar_url":"https://github.com/LichAmnesia.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Stashlog\n\n[English](#) | [中文](./README_zh.md)\n\nA premium content platform built with Next.js and Firebase, designed for course creators and paid community builders to monetize their knowledge through exclusive, members-only content.\n\n## 🎯 Perfect For\n\n- **Course Creators** - Share premium courses with paying students\n- **Community Builders** - Run exclusive paid communities with gated content\n- **Coaches \u0026 Consultants** - Deliver private content to your clients\n- **Content Creators** - Monetize your expertise through subscription content\n\n## Features\n\n- 🔐 **Members-Only Access**: Secure authentication ensures only paying members can access your content\n- 👥 **Member Management**: Control who has access to your premium content through whitelist authorization\n- 📝 **Rich Content Creation**: Write engaging content with MDX (Markdown + React components)\n- 💰 **Content Monetization Ready**: Perfect for paid courses, exclusive tutorials, and premium resources\n- 🎨 **Professional Design**: Clean, modern interface that reflects the value of your content\n- ⚡ **Lightning Fast**: Built with Next.js 15 and Turbopack for optimal performance\n- 🔥 **Enterprise-Grade Security**: Firebase Authentication and Firestore database keep your content safe\n- 📱 **Mobile Responsive**: Your members can learn on any device\n\n## Use Cases\n\n### 📚 Online Course Platform\nCreate a private space for your course students with:\n- Lesson content organized by modules\n- Exclusive resources and downloads\n- Member-only discussions\n\n### 👥 Paid Community Hub\nBuild a thriving paid community with:\n- Exclusive articles and insights\n- Premium content library\n- Member-only resources\n\n### 🎓 Coaching \u0026 Consulting Portal\nDeliver value to your clients through:\n- Private coaching materials\n- Personalized content paths\n- Client-only resources\n\n## Tech Stack\n\n- **Frontend**: Next.js 15, React 19, TypeScript\n- **Styling**: Tailwind CSS v4\n- **Authentication**: Firebase Auth\n- **Database**: Firestore\n- **Content**: MDX (Markdown + JSX)\n- **Deployment**: Firebase App Hosting\n\n## Prerequisites\n\n- Node.js 18+ installed\n- A Firebase project with Authentication and Firestore enabled\n- npm or yarn package manager\n\n## Getting Started\n\n### 1. Clone the repository\n\n```bash\ngit clone https://github.com/LichAmnesia/Stashlog.git\ncd Stashlog/app-hosting\n```\n\n### 2. Install dependencies\n\n```bash\nnpm install\n```\n\n### 3. Set up environment variables\n\nCopy the example environment file and fill in your Firebase configuration:\n\n```bash\ncp .env.example .env.local\n```\n\nEdit `.env.local` with your Firebase project values:\n\n```env\nNEXT_PUBLIC_FIREBASE_API_KEY=your-api-key\nNEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your-auth-domain.firebaseapp.com\nNEXT_PUBLIC_FIREBASE_DATABASE_URL=https://your-project-id.firebaseio.com\nNEXT_PUBLIC_FIREBASE_PROJECT_ID=your-project-id\nNEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your-project-id.firebasestorage.app\nNEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your-messaging-sender-id\nNEXT_PUBLIC_FIREBASE_APP_ID=your-app-id\n```\n\n### 4. Set up Firebase\n\n1. Enable Authentication in your Firebase project\n   - Enable Email/Password and Google sign-in providers\n2. Create a Firestore database\n3. Add authorized users to the `authorized_users` collection:\n   ```\n   Collection: authorized_users\n   Document ID: user@example.com\n   Fields: { email: \"user@example.com\" }\n   ```\n\n### 5. Run the development server\n\n```bash\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) to see your blog.\n\n## Creating Premium Content\n\nCreate MDX files in the `posts/` directory:\n\n```mdx\n---\ntitle: \"Module 1: Introduction to Advanced Concepts\"\ndate: \"2025-01-01\"\n---\n\nWelcome to this exclusive module! In this lesson, we'll cover...\n```\n\n## Content Organization Tips\n\n- **For Courses**: Organize posts by module numbers (e.g., `module-1-intro.mdx`)\n- **For Communities**: Use categories or topics (e.g., `advanced-seo-tactics.mdx`)\n- **For Coaching**: Create client-specific paths (e.g., `week-1-goals.mdx`)\n\n## Project Structure\n\n```\nStashlog/\n├── app-hosting/          # Next.js application\n│   ├── src/\n│   │   ├── app/         # App Router pages\n│   │   ├── components/  # React components\n│   │   └── lib/         # Utility functions\n│   ├── posts/           # Your premium content (MDX files)\n│   └── public/          # Static assets\n├── firebase.json        # Firebase configuration\n└── firestore.indexes.json\n```\n\n## Deployment\n\n### Deploy to Firebase App Hosting\n\n1. Install Firebase CLI:\n   ```bash\n   npm install -g firebase-tools\n   ```\n\n2. Login to Firebase:\n   ```bash\n   firebase login\n   ```\n\n3. Deploy:\n   ```bash\n   firebase deploy\n   ```\n\n## Monetization Strategy\n\nStashlog provides the technical foundation for your content business. Combine it with:\n- **Payment Processing**: Stripe, PayPal, or other payment gateways\n- **Email Marketing**: Automated onboarding for new members\n- **Analytics**: Track member engagement and content performance\n\n## Security \u0026 Privacy\n\n- All content requires authentication - no public access\n- Member authorization through Firestore whitelist\n- Secure Firebase Authentication protects your valuable content\n- Environment variables keep sensitive configuration secure\n\n## Why Stashlog?\n\nUnlike generic blogging platforms, Stashlog is specifically designed for the knowledge economy:\n- **Built for Monetization**: Every feature supports your content business\n- **Member-First Experience**: Smooth, professional experience for paying members\n- **Scalable Architecture**: Grows with your audience from 10 to 10,000+ members\n- **Full Control**: Self-hosted solution gives you complete ownership\n\n## Contributing\n\nAs this is designed for individual content creators and their teams, contributions are typically limited to authorized team members. Please contact the administrator for access.\n\n## License\n\nThis project is private and proprietary. All rights reserved.\n\n## Support\n\nFor technical support or to request access, please contact the administrator.\n\n---\n\n**Built for the Knowledge Economy** - Turn your expertise into a thriving content business with Stashlog.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flichamnesia%2Fstashlog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flichamnesia%2Fstashlog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flichamnesia%2Fstashlog/lists"}