Build secure, fast, and scalable websites with enterprise-grade architecture
FreedomPress is a modern, security-first content management framework built on Next.js. It provides a modular architecture that allows you to build everything from simple blogs to complex ecommerce sites with enterprise-level security and performance.
npx create-freedompress-app my-website
cd my-website
npm run devVisit http://localhost:3000 to see your new FreedomPress site!
- Enterprise-grade authentication with NextAuth.js
- Role-based access control (RBAC)
- Comprehensive audit logging
- Input sanitization and validation
- Rate limiting and DDoS protection
- Security headers and CSRF protection
- Plugin-based module system
- Hot-swappable components
- Event-driven architecture
- Dependency management
- Configuration management
- Built on Next.js for optimal performance
- Static generation and incremental regeneration
- Image optimization and lazy loading
- Bundle size optimization
- Database query optimization
- TypeScript-first development
- Comprehensive CLI tools
- Hot reload and fast refresh
- Built-in testing framework
- Rich component library
The foundation of every FreedomPress site:
- Authentication System: Secure user management with OAuth support
- Module Registry: Dynamic module loading and management
- API Layer: Secure, validated API endpoints
- Base Components: Layout, SEO, Navigation, Error handling
- CLI Tools: Project and module management commands
Complete content management system:
- Rich text editor with markdown support
- Category and tag management
- SEO optimization
- RSS feeds and sitemaps
- Comment system
- Social sharing
Full-featured ecommerce solution:
- Product catalog with variants
- Shopping cart and checkout
- Stripe payment integration
- Order management
- Inventory tracking
- Customer accounts
Ready-to-deploy boilerplate:
- Pre-configured Next.js setup
- Integrated blog and shop modules
- Sample content and pages
- Deployment configuration
- Development tools
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β FreedomPress Core β
βββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββββββββββ€
β Auth System β Module System β API Layer β
βββββββββββββββββββΌββββββββββββββββββΌββββββββββββββββββββββββββ€
β Next.js Core β Prisma DB β Security Layer β
βββββββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββββββββββ
β
βββββββββββββββΌββββββββββββββ
β β β
ββββββΌββββ ββββββΌββββ βββββΌβββββ
β Blog β β Shop β β Custom β
β Module β β Module β β Module β
ββββββββββ ββββββββββ ββββββββββ
- Node.js 18+
- npm or yarn
- Git
npx create-freedompress-app my-site
cd my-site
npm run devgit clone https://github.com/freedompress/starter my-site
cd my-site
npm install
npm run db:setup
npm run devnpm install @freedompress/core
npm install @freedompress/blog
npm install @freedompress/shop# Project management
freedompress init my-project # Create new project
freedompress dev # Start development server
freedompress build # Build for production
# Module management
freedompress module install blog # Install blog module
freedompress module activate blog # Activate blog module
freedompress module list # List all modules
# Database operations
freedompress db migrate # Run migrations
freedompress db seed # Seed database
freedompress db backup # Create backupimport { FreedomPress } from '@freedompress/core'
import { BlogModule } from '@freedompress/blog'
const app = new FreedomPress({
modules: [BlogModule],
database: {
url: process.env.DATABASE_URL
},
auth: {
providers: ['google', 'github']
}
})
export default appimport { FreedomPress } from '@freedompress/core'
import { BlogModule } from '@freedompress/blog'
import { ShopModule } from '@freedompress/shop'
const app = new FreedomPress({
modules: [BlogModule, ShopModule],
shop: {
stripe: {
publishableKey: process.env.STRIPE_PUBLISHABLE_KEY,
secretKey: process.env.STRIPE_SECRET_KEY
}
}
})
export default app# Database
DATABASE_URL="file:./dev.db"
# Authentication
NEXTAUTH_SECRET="your-secret-key"
NEXTAUTH_URL="http://localhost:3000"
# OAuth Providers
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"
GITHUB_ID="your-github-id"
GITHUB_SECRET="your-github-secret"
# Stripe (for shop module)
STRIPE_PUBLISHABLE_KEY="pk_test_..."
STRIPE_SECRET_KEY="sk_test_..."{
"modules": {
"blog": {
"enabled": true,
"config": {
"postsPerPage": 10,
"enableComments": true,
"seo": {
"metaTitle": "My Blog",
"metaDescription": "Welcome to my blog"
}
}
},
"shop": {
"enabled": true,
"config": {
"currency": "USD",
"shipping": {
"freeShippingThreshold": 50
}
}
}
}
}npm install -g vercel
verceldocker build -t my-freedompress-site .
docker run -p 3000:3000 my-freedompress-sitenpm run build
npm startWe welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create your 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
This project is licensed under the MIT License - see the LICENSE file for details.
- π Documentation
- π¬ Discord Community
- π Issue Tracker
- π§ Email Support
- Built with Next.js
- Authentication by NextAuth.js
- Database management with Prisma
- Styled with Tailwind CSS
FreedomPress - Empowering developers to build secure, scalable web applications with confidence.