Warning. This repo is rebranded from SaaS-Idea. Please update your urls.
This free SaaS base application allows you to create a working SaaS with minimal efforts. What it already has:
Before you even clone anything it would be nice to show you what eventually you would own. There are 4 screenshots:
Follow instruction to install, set up and run this boilerplate to start your SaaS quicker.
Before we start make sure you have installed Python 3 and Node.js. Please follow the official instructions. Also, you need to have a PostgreSQL database handy. If you don't want to install it you can use ElephantSQL service, they have a free plan: https://www.elephantsql.com/plans.html.
git clone https://github.com/CaravelKit/saas-base
cd saas-base
python -m venv venv
(First 'venv' is a command, the second one is a new folder for a virtual environment. Or you can call it whatever.)
Note: if you use privateemail.com for your email you can set up the following settings:
set "mail_server=mail.privateemail.com"
set "mail_port=465"
Just run the command:
init
Or, from a terminal:
./init.bat
Warning! This command clears up your database before creating new entities. If you want just to update your current database, change the following code:
call flask dbinit -c
to
call flask dbinit -u
As soon as you see the following info you can open your browser:
* Serving Flask app "main"
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
venv/Scripts/activate.bat
pip install -r requirements.txt
If you see some error you definitely have to update your pip:
python -m pip install --upgrade pip
npm install
npm run dev
Note, there is another config, for production that you can run with "npm run prod" - in this version you will get well zipped (but not readable) code.
flask dbinit -c
flask run
In file \app\components\dashboard\js\appDashboard.jschange/add the following code:
var routes = [
...
{
path: '/user/profile',
component: UserProfile,
name: 'userProfile',
meta: {
breadcrumb: [
{ name: 'User' }, <= breadcrumb link or text
{ name: 'Profile' } // add 'link' field with name or the route
]
}
},
...
Name your routes to have the access from breadcrumbs to them.
By default, for a production version it's 14 days, for dev it's just a one day (for easier validation). If you want to change this setting,please change the corresponding line in config.py:
TRIAL_PERIOD_IN_DAYS = 1
We prefer MS VS Code. It's free and have tons of plugins for any language and framework. We use plugins for Python, Flask, Vue. To debug Python code you need to do some setups:
{
"python.pythonPath": "path_to_you_venv/Scripts/python.exe",
"python.venvPath": "path_to_you_venv/Scripts/activate",
"python.linting.pylintEnabled": false,
}
{
"name": "Python Experimental: Flask",
"type": "pythonExperimental",
"request": "launch",
"module": "flask",
"env": {
"FLASK_APP": "application.py"
},
"args": [
"run",
"--no-debugger",
"--no-reload"
//"dbinit",
//"-u"
],
"jinja": true
}
Every time when you change something in your models, run the following command to update the database:
flask dbinit -u
We want to build the great product and we believe it's possible only when we collaborate with our users. So, we created a survey to figure out what is most important for you. Please fill it up and we will develop next feature on your choice!
This version of our SaaS boilerplate is free and it will NOT have all the features.
Copyright (c) 2019 Caravel Kit www.caravelkit.com under the MIT license.If you are interested in the full-functional version please check our website www.caravelkit.com for pricing and conditions.
BaseController作父类 子类继承父类的好处 springmvc可以给控制器方法参数赋值request,response,session springmvc可以给控制器成员变量赋值 //子类继承父类,可以自动拥有父类的非私有成员(方法或者变量) public class BaseController{ //定义一个可以返回companyId public String getL
BaseController作父类 (1)子类继承父类的好处 (2)springmvc可以给控制器方法参数赋值 request,response,session (3)springmvc可以给控制器成员变量赋值 //子类继承父类,可以自动拥有父类的非私有成员(方法或者变量) public class BaseController { //定义一个可以返回companyId publ
我们前面对部门进行操作,那都是基于一个公司而言的,对于不同的公司,它的部门是不同的,显示的数据也应该是不同的,所以我们应该将公司信息抽取出来,设置它为登录的公司信息,这里先设置默认值id=1的公司,后期修改。 然后对其功能执行的时候,基础BaseController作父类,就能拥有它的所有属性。 抽取相同部门作为BaseController父类 子类继承父类,拥有父类的所有属性。 获取父类的公司信
4 企业管理 4.1 需求分析 在通用页面配置企业管理模块,完成企业的基本操作 4.2 搭建环境 4.2.1 新增模块 (1)手动创建 方式一: 在src目录下创建文件夹,命名规则:module-模块名称()在文件夹下按照指定的结构配置assets,components,pages,router,store等文件 (2)使用命令自动创建 安装命令行工具 npm install -g itheima
SaaS Boilerplate Open source web app that saves you many days of work when building your own SaaS product. The boilerplate comes with many basic SaaS features (see Features below) so that you can focu
una-saas是基于Spring Boot 和 JPA构建的SaaS多租户应用系统,提供动态数据源切换,采用的数据隔离方式为共享DB,独立Schema。
简云 Saas 平台,基于 SpringBoot2.3.3, Mybatis, JWT, Redis, VUE+Element-UI 的前后端分离的 Saas 平台后台管理系统 开发文档 文档链接http://yanghuiyuan.gitee.io/saas-ui/ 体验地址 简云 Saas 平台 系统功能 - 自定义表单: 用于OA表单自定义申请, 自定义模块扩展功能. - 自定义表单业
微信小程序/公众号一键生成系统 weiit-saas是一款Java开源项目,属于weiit团队自研产品,意在通过技术封装,让企业无需代码开发,帮助企业一键生成小程序、公众号,让企业拥有独立品牌的自营商城。产品竞争对手《有赞》、《微盟》。 一、系统功能 五、系统功能 二、主要特点 项目采用Spring+SpringMVC+Mybati
tmaic saas 多租户(Multi-Tenant ),即一个Tenant,一个Database“的数据存储方式。隔离级别最高、最安全,说到底是要解决数据存储的问题,golang语言saas框架唯数不多的框架之一。 软件架构 数据模型 以下是例子 package modelsimport ( "github.com/pangxianfei/framework/helpers/m" "githu
蓝鲸智云容器管理平台的 SaaS,它提供了友好的操作界面,支持对项目集群、节点、命名空间、部署配置、仓库镜像、应用等进行可视化界面操作管理,并提供了 WebConsole 可快捷查看集群状态的命令行服务,针对 K8S 集群模式支持使用 Helm 进行 K8S 应用的部署和管理。 蓝鲸智云容器管理平台的 SaaS 源码包含: bcs-app:SaaS 产品层主体功能模块,负责项目集群、节点、命名空间