Hello Coders!
This article presents a collection of simple REST Servers built with a unified API definition across multiple frameworks: Django, Node JS/ Express, Flask, and FastAPI (coming soon). The good part is that any of these servers can be used with React and Vue UI Kits with less effort.
Thanks for reading! - Content provided by App Generator.
- (free) API Server Django - built with Django REST Framework
- (free) API Server Flask - the API uses flask_restx to manage nodes
- (free) API Server NodeJS - built with Typescript/Express/TypeORM
- API Node JS PRO - built with Typescript/MongoDB/Mongoose
React products enhanced with JWT authentication compatible with mentioned API Servers:
- React Berry Dashboard - open-source sample
- React Datta Dashboard - open-source sample
-
React Datta PRO - commercial full-stack
React Dashboard
Why Using a Unified API Interface
A while ago, based on our community feedback, we decided to implement a unified API definition across all supported servers (Flask, Django, Node JS) and let users decide the preferred backend framework without changing the UI once a backend migration occurs from Flask to Django or from Django to Node JS for instance. Using a common definition, basically all frontend products, despite the technology, can be used without extra efforts with currently provided backends and stay compliant with the future ones: FastAPI, Koa, etc.
The current definition covers only a simple JWT authentication that manages users via the following methods:
-
/api/users/register
: create a new user -
/api/users/login
: authenticate an existing user -
/api/users/logout
: delete the associated JWT token -
/api/users/checkSession
: check an existing JWT Token for validity -
/api/users/edit
- edit the information associated with a registered user
All provided methods use a simple I/O interface and intuitive, beginner-friendly structures.
API Register I/O Sample
POST api/users/register
Content-Type: application/json
{
"username":"test",
"password":"pass",
"email":"test@appseed.us"
}
API Login I/O Sample
POST /api/users/login
Content-Type: application/json
{
"password":"pass",
"email":"test@appseed.us"
}
For more information related to this concept, feel free to access the official documentation: API Unified Definition.
Now, back to our API servers, the next sections will present each server starting with the open-source ones.
API Server Django
Simple starter built with Python / Django Rest / Sqlite3 and JWT Auth. The authentication flow is based on json web tokens. The product comes with a simple, intuitive codebase, DRF integration, SQLite for persistence JWT Authentication API, Docker, and unitary tests.
- API Server Django - official documentation
- API Server Django - source code (MIT License)
API Server Flask
Simple Flask API Starter with JWT authentication, and SQLite persistence that provides "out-of-the-box" all the ready-to-use bare minimum essentials - Built on top of flask_rextx and flask_jwt_extended libraries.
- API Server Flask - official documentation
- API Server Flask - source code (MIT License)
API Server Node JS
Simple API server crafted in Node JS/Express/Typescript with SQLite for persistence and TypeORM as SQL interface. Authentication Flow uses json web tokens via Passport library - passport-jwt strategy.
- API Server Node JS - official documentation
- Nodejs API Server - source code (MIT License)
API Server Node JS PRO
This commercial product contains two branches: the first one uses SQLite and TypeORM as SQL interface and the second branch handles the persistence via MongoDB and Mongoose.
- Nodejs API Server PRO - the Github repository (used for bug tracking)
To make this article more useful, I will mention a few React Products already coded to handle the JWT Authentication provided by all mentioned servers. Let's go!
React Dashboard Berry
Berry is a creative React Dashboard build using the Material-UI. It is meant to be the best User Experience with highly customizable feature-riched pages. It is a complete game-changer React Dashboard Template with an easy and intuitive responsive design as on retina screens or laptops. The product comes with a simple JWT authentication flow: login/register/logout.
- React Node JS Berry - product page
- React Node JS Berry - LIVE Demo
React Dashboard Datta Able
Datta Able is an open-source React Dashboard that provides a colorful and modern design. Datta Able React Free is the most stylized React Free Admin Template, around all other admin templates in the market. It comes with high feature-rich pages and components with fully developer-centric code. The product comes with a simple JWT authentication flow: login/register/logout.
- React Node JS Datta Able - product page
- React Node JS Datta Able - LIVE Demo
React Datta Able PRO
Datta Able PRO is a premium React Dashboard that provides a colorful and modern design. Datta Able React PRO is the most stylized React Free Admin Template, around all other admin templates in the market. It comes with high feature-rich pages and components with fully developer-centric code. The product comes with a simple JWT authentication flow: login/register/logout.
- React Nodejs Datta Able PRO - product page
- React Nodejs Datta Able PRO - LIVE Demo
Thanks for reading! For more resources or support please access:
- 👉 AppSeed - for LIVE support via Discord (registered users)
- 👉 Open-source Dashboards - a curated list with free starters
- 👉 Free React Dashboards - a curated list published on Dev.to
Top comments (6)
Nice I believe that can be real useful for hackathon.
Ty! 🚀🚀
Ty! Wound be nice to have a full build for a product (UI and backend).
P.S. Really nice concept!
Noted, ... I'll getback with a full article for this!
Thank you! 🚀🚀
Nice resources.
Thanks for writing!
🚀🚀