1.7 KiB
1.7 KiB
Architecture Stack
**General Guideline: ** Free and Open-Source, self-hostable with little to no limitations.
Development
- use git and make proper commits
Frontend
- Astro.js + React
- Tailwind.css
- Framer Motion
Backend
- Strapi (Core MIT License)
- User Management: Strapi's built-in user authentication and role management system can handle user accounts for access control.
- Database: PostgreSQL (PostgreSQL License)
Other Functionalities
Newsletter
- Email/Mailing List Manager:
Listmonk(AGPLv3 License) - A self-hosted, open-source newsletter and mailing list manager.
File Downloads (e.g., Ebooks)
- Content Hosting: Ebooks hosted and served via Strapi's Media Library.
- Access Control: Downloads gated by Strapi user authentication. Users must be logged in via Strapi to access protected download links.
- Newsletter Integration: User registration/login process within Strapi can be integrated with
Listmonk(e.g., via API calls or webhooks) to automatically subscribe users to the newsletter upon signup, fulfilling the requirement for download access.
Deployment
- Docker Compose:
- Define services for
Strapi(MIT License),PostgreSQL(PostgreSQL License), andListmonk(AGPLv3 License). - Configure volumes for Strapi uploads, PostgreSQL data persistence, and Listmonk data persistence.
- Ensure environment variables are managed for database connections, Strapi secrets, and Listmonk configuration.
- Consider how the Astro.js frontend will be built and served, and how it interacts with Strapi's API for user authentication and protected content.
- Define services for
- DO create docker-compose.yaml to make it deployable for Coolify