DEV Community

loading...
Cover image for Free API Servers - Open-source REST products: Django, Node JS, Flask

Free API Servers - Open-source REST products: Django, Node JS, Flask

Sm0ke
#Automation, my favorite programming language
Originally published at blog.appseed.us ・5 min read

Hello Coders!

This article presents a collection with 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 the usability of any of these servers with React and Vue UI Kits with less effort.

Thanks for reading! - Content provided by App Generator.



React products enhanced with JWT authentication compatible with mentioned API Servers:


React Datta PRO - Fullstack 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"
}
Enter fullscreen mode Exit fullscreen mode

API Login I/O Sample

POST /api/users/login
Content-Type: application/json

{
    "password":"pass", 
    "email":"test@appseed.us"
}
Enter fullscreen mode Exit fullscreen mode

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 - Free REST server provided by AppSeed.


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 - Free REST server provided by AppSeed.


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 - Free REST server provided by AppSeed.


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.


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 Dashboard Berry - Open-source Fullstack dashboard.


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 Dashboard Datta Able - Open-source Fullstack dashboard.


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 Datta Able PRO - Fullstack dashboard (commercial product).


Thanks for reading! For more resources or support please access:


Discussion (6)

Collapse
steelwolf180 profile image
Max Ong Zong Bao

Nice I believe that can be real useful for hackathon.

Collapse
sm0ke profile image
Sm0ke Author

Ty! 🚀🚀

Collapse
uithemes profile image
ui-themes

Ty! Wound be nice to have a full build for a product (UI and backend).
P.S. Really nice concept!

Collapse
sm0ke profile image
Sm0ke Author

Noted, ... I'll getback with a full article for this!
Thank you! 🚀🚀

Collapse
crearesite profile image
WebsiteMarket

Nice resources.
Thanks for writing!

Collapse
sm0ke profile image
Sm0ke Author

🚀🚀