Documentation: https://start.4geeksacademy.com/
- React.js front end and python/flask backend for your web application.
- Extensive documentation here.
- Integrated with Pipenv for package managing.
- Fast deloyment to heroku in just a few steps here.
- Use of .env file.
- SQLAlchemy integration for database abstraction.
You can update the styles/index.scss
or create new .scss
files inside styles/
and import them into your current scss or js files depending on your needs.
Add more files into your ./src/js/components
or styles folder as you need them and import them into your current files as needed.
💡Note: There is an example using the Context API inside views/demo.js
;
Add more files into your ./src/js/views
and import them in ./src/js/layout.jsx
.
This boilerplate comes with a centralized general Context API. The file ./src/js/store/flux.js
has a base structure for the store, we encourage you to change it and adapt it to your needs.
React Context docs BreathCode Lesson view
The Provider
is already set. You can consume from any component using the useContext hook to get the store
and actions
from the Context. Check /views/demo.js
to see a demo.
import { Context } from "../store/appContext";
const MyComponentSuper = () => {
//here you use useContext to get store and actions
const { store, actions } = useContext(Context);
return <div>{/* you can use your actions or store inside the html */}</div>;
};
It is recomended make sure you have Python 3.8, Pipenv and a database engine (Posgress recomended)
- Install the python packages:
$ pipenv install
- Create a .env file based on the .env.example:
$ cp .env.example .env
- Install your database engine and create your database, depending on your database you have to create a DATABASE_URL variable with one of the possible values, make sure you replace the valudes with your database information:
Engine | DATABASE_URL |
---|---|
SQLite | sqlite:////test.db |
MySQL | mysql://username:password@localhost:port/example |
Postgress | postgres://username:password@localhost:5432/postgres |
- Migrate the migrations:
$ pipenv run migrate
(skip if you have not made changes to the models on the./src/api/models.py
) - Run the migrations:
$ pipenv run upgrade
- Run the application:
$ pipenv run start
To insert users and products in the database execute the following command:
$ flask test-users 10
And you will see the following message:
Creating test users
Created 10 Users
$ flask test-products 40
And you will see the following message:
Creating test products
Created 40 Products
This boilerplate it's 100% read to deploy with Render.com and Heroku in a matter of minutes. Please read the official documentation about it.