From 17401395f97c83354221a35f98bd655107e8c663 Mon Sep 17 00:00:00 2001 From: Navan Chauhan Date: Fri, 11 Jun 2021 16:57:17 +0530 Subject: replaced with morph theme --- README.md | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 74 insertions(+), 12 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 2ecb770..7f34ae9 100644 --- a/README.md +++ b/README.md @@ -2,16 +2,15 @@ [![codecov](https://codecov.io/gh/navanchauhan/SaaS-in-a-Flask/branch/master/graph/badge.svg?token=ULbtVCRrrY)](https://codecov.io/gh/navanchauhan/SaaS-in-a-Flask) [![Flask Tests](https://github.com/navanchauhan/SaaS-in-a-Flask/actions/workflows/Flask-Tests.yaml/badge.svg)](https://github.com/navanchauhan/SaaS-in-a-Flask/actions/workflows/Flask-Tests.yaml) -[![Deploy Using Heroku](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/navanchauhan/SaaS-in-a-Flask) [![DeepSource](https://deepsource.io/gh/navanchauhan/SaaS-in-a-Flask.svg/?label=active+issues&token=cGLfebjxhVAjY3sdENfjDp66)](https://deepsource.io/gh/navanchauhan/SaaS-in-a-Flask/?ref=repository-badge) In the wise words of @alectrocute: > I've noticed SaaS bootstraps/boilerplates being sold upwards of $1,000 per year and I think that's fucking ridiculous. -## Features +## Features / To-Do -- [x] **Landing Page:** Written in Bootstrap 5, compatible with [Bootswatch Themes](https://bootswatch.com) +- [x] **Landing Page:** Written in Bootstrap 5, compatible with [Bootswatch Themes](https://bootswatch.com) (Just replace bootstrap.min.css) - [x] **Database Management:** Using CLI or Superuser view - [x] **Migration:** Using Flask-Migrate - **Authentication:** Using Flask-Login @@ -25,7 +24,7 @@ In the wise words of @alectrocute: - [x] **Form Handling:** With Flask-WTF using WTForms - [x] Dashboard - [x] GitHub Workflows -- [ ] Admin Pages +- [x] **Admin Pages:** Using Flask-Admin - [ ] Role Support - [ ] Team Management - Error Handling @@ -41,30 +40,93 @@ In the wise words of @alectrocute: - [ ] Stripe - [ ] GDPR Compliance / Data Export - [x] Docker Images -- [x] **Automatic Deployments:** Using Heroku [https://saas-in-a-flask.herokuapp.com](Sample Deployment) +- [x] **Automatic Deployments:** Using Heroku [Sample Deployment](https://saas-in-a-flask.herokuapp.com) + +## Screenshots + +### Landing + +![Landing-1](./misc/screenshots/landing-1.png) + +![Landing Page on Mobile](./misc/screenshots/landing-2.png) + +![Landing Page Features on Mobile](./misc/screenshots/landing-3.png) + +![Login Page](./misc/screenshots/login.png) + +![Sign Up Page](./misc/screenshots/register.png) + +![Basic Dashboard](./misc/screenshots/dashboard.png) + +![Admin Dashboard](./misc/screenshots/admin-dashboard.png) ## Quick How-Tos -### Makefile +### Installing Dependencies + +You can either use the provided Pipfile using pipenv or use requirements.txt with pip -#### Install Dependencies using pip +``` +python3 -m venv venv +source venv/bin/activate +pip3 install pipenv +pipenv install --dev ``` -make install +``` +python3 -m venv venv +source venv/bin/activate +pip3 install -r requirements.txt + ``` -#### Initialise Database +### Initialise Database and add super-user ``` -make db +FLASK_APP=app flask database create +FLASK_APP=app flask database admin-create + ``` -#### Run Development Server +### Generate SSL Certificate to test Sign in With Google + +Even while developing on a local server. You still need to run your server as HTTPS to test Sign in With Google ``` -make dev +make cert-create +make dev-ssl + ``` + +### Configurations + +The following environment variables should be set + +#### Sign in with Google + +| Variable | +|----------| +|GOOGLE_CLIENT_ID| +|GOOGLE_CLIENT_SECRET| + +#### E-Mail Confirmation + +| Variable | Example | +|----------|---------| +|MAIL_USE_TLS|True| +|MAIL_PORT|587| +|MAIL_FROM|navan@pi4.navan.dev| +|MAIL_SERVER|pi4.navan.dev| +|MAIL_USERNAME|navan| +|MAIL_PASSWORD|fysdoifhsdfsd| + +#### Sentry Error Reporting + +| Variable | +|----------| +|SENTRY_DSN| + ### Running Tests You need to be in the base directory of the repo to run tests. -- cgit v1.2.3