Frappy is a framework for accelerated demo and prototype development, handling common problems such as authentication, users, content and data management, so you can focus on the actual demo content immediately without spending valuable days setting up the basic needs that exist in almost every project.
This repository contains documentation to all aspects of the Frappy modules and packages, how to use them and extend.
Detailed Documentation
- Integrating Admin Interfaces
- Databases
- User Guide
- Authentication and User Management,
- Content Management
- Data Management (Images, CSV, JSON)
- Data Structures
Getting Started
- Read the User Guide, which explains the database choice and leads you through setting up your project
- Create your own frontend pages, where you display the information you want users to see. You can use existing endpoints that are registered with the backend modules or create your own to retrieve data and content. Details regarding those endpoints can be found in the respective frontend packages and are the same for NodeJS and Python.
- Create your own API endpoints that perform operations on the data. You can pass the required store instances (e.g.
DataSetStore
) into the API registration function and use it to retrieve the data there, when one of your endpoints is called.
Capabilities
- Backend languages & frameworks: NodeJS with Express or Python with Flask
- Databases: MongoDB or/and MySQL
- Frontend: React only
- Functionality:
Structure
The various components work together by shared interfaces for the REST communication and database store methods:
Usage
- Select your backend language: Node (JS) or Python
- Create a new GitHub project using one of the 2 project templates: NodeJS template or Python template
- Choose your database (MongoDB or MySQL). This will inform which packages you need in the next step. It is recommended to use Docker to run the database, unless you're a pro.
- Select what functionality you need and install the required packages for:
- The database storage
- The backend
- The frontend
- Integrate the installed functionality into your project repository
For a detailed guide, please see the User Guide.
Packages
These packages are currently available:
Python Databases | NodeJS Databases | Python Backend | NodeJS Backend | Frontend | |
---|---|---|---|---|---|
Authentication | frappymongouser | js-mongo-user-store | frappyflaskauth | node-authentication | react-authentication |
Data | frappymongodata | js-mongo-dataset-store | frappyflaskdata | node-datasets | react-datasets |
Content | frappymongocontent | js-mongo-content-store | frappyflaskcontent | node-content | react-content |