Skip to content

A SaaS (Software as a Service) app to allow individuals to host their own shareable Q&A platforms. Made with React.js, Python, Flask, PostgreSQL, and Stripe.

Notifications You must be signed in to change notification settings

aahmad4/Whats-On-Ur-Mind

Repository files navigation

Whats On Ur Mind

A SaaS (Software as a Service) app to allow individuals to host their own shareable Q&A platforms. Made with Python, Flask, React.js, PostgreSQL, and Stripe.

Summary

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Setup

A step by step series of examples that tell you how to get a development env running.

Clone

$ git clone https://github.com/aahmad4/Whats-On-Ur-Mind

Installation

Use the package manager npm or yarn to install the required packages for the React app.

For the Python modules use pip or pipenv to install the required dependencies.

React app:

$ cd client
$ npm install

or

$ cd client
$ yarn install

Python Flask server:

$ pip install -r requirements.txt

Usage

In order to run this project locally, you must start the server and client dev servers in separate terminals.

To start the React app:

$ cd client
$ npm start

To start the Python Flask server, run the following in the root directory.

$ python app.py

Implementation

For development, in the root directory create a .env file and place the following variables in there.

POSTGRES_DATABASE_URI =
JWT_SECRET_KEY =
FLASK_ENV =
STRIPE_SECRET_KEY =

In the client directory create another .env file and place the following variables in there.

REACT_APP_STRIPE_PUBLIC_KEY =
REACT_APP_STRIPE_PRICE_ID =

Built With

  • Python - Back-end programming language
  • Flask - Micro web framework
  • PostgreSQL - Powerful relational database management system
  • Stripe - Online payment processing API
  • React.js - Front-end web library
  • Chakra UI - Simple component library
  • Heroku - Cloud application platform

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.