7ca1fc8de4
* Check in auth flow work. * More work on auth steps. Check in before redux state. * Create auth reducer and actions * Stubbed out profile page to test auth aware routes. Minor style fixes. * Fill out provider components * Handle missing origin * Fix reducer mistake. Show user info in profile page. * Reflect auth state in header. * tslint * Actual user creation. * Implement sign in * Fix redux types. |
||
---|---|---|
.. | ||
grant | ||
migrations | ||
requirements | ||
tests | ||
.env.example | ||
.gitignore | ||
.isort.cfg | ||
.pre-commit-config.yaml | ||
.travis.yml | ||
LICENSE | ||
Procfile | ||
README.md | ||
app.py | ||
requirements.txt | ||
setup.cfg |
README.md
Grant.io Backend
This is the backend component of Grant.io.
Database Setup
Run the following commands to bootstrap your environment. Note: db setup is configured in .env when running locally. SQLLite is used by default in /tmp/
# Get python in a virtual environment
virtualenv -p python3 venv
source venv/bin/activate
# Install python requirements
pip install -r requirements/dev.txt
# Create environment variables file, edit as needed
cp .env.example .env
Once you have installed your DBMS, run the following to create your app's database tables and perform the initial migration
flask db migrate
flask db upgrade
Running the App
Depending on what you need to run, there are several servies that need to be started
If you just need the API, you can run
flask run
Deployment
To deploy
export FLASK_ENV=production
export FLASK_DEBUG=0
export DATABASE_URL="<YOUR DATABASE URL>"
flask run # start the flask server
In your production environment, make sure the FLASK_DEBUG
environment
variable is unset or is set to 0
.
Shell
To open the interactive shell, run
flask shell
By default, you will have access to the flask app
.
Running Tests
To run all tests, run
flask test
Migrations
Whenever a database migration needs to be made. Run the following commands
flask db migrate
This will generate a new migration script. Then run
flask db upgrade
To apply the migration.
For a full migration command reference, run flask db --help
.
Commands
To create a proposal, run
flask create_proposal "FUNDING_REQUIRED" 1 123 "My Awesome Proposal" "### Hi! I have a great proposal"