The Social Application Template (SAT) is an example client app that demonstrates how to use Gateway Services for integrating with Frequency and DSNP.
- π About the Project
- π Arch Map
- π Built With
- π» Getting Started
- π Live OpenAPI Docs
- π€ Contributing
- βFAQ
- π License
The Social Application Template (SAT) is an example client app that demonstrates how to use Gateway Services.
The Gateway Services are a suite of services designed to make interacting with Frequency easy for applications integrating with DSNP. The SAT is an example client that shows you how to use Gateway.
Gateway enables web2 companies to use a simple gateway into web3 using tooling they are accustomed to. It aims to let service providers self-serve with minimal help outside of docs and tools, rather than interacting with Frequency directly. Providers no longer need to fully understand blockchain tooling to build on DSNP over Frequency.
Key: * = coming soon
Tech Stack Overview: This project uses a modern JavaScript/TypeScript stack with React for the frontend and Node.js/Express for the backend. It integrates with Gateway Services to provide a seamless connection to the Frequency blockchain and DSNP protocols without requiring deep Web3 knowledge.
Frontend
- Framework: React - A JavaScript library for building user interfaces
- Language: TypeScript - Adds static typing to JavaScript
- State Management: React Context API and custom hooks
- Testing Library:
- Jest - JavaScript testing framework
- Testing Library - Simple and complete testing utilities
- UI Library: Ant Design - A design system for enterprise-level products
- Build Tool: Vite - Next generation frontend tooling
Backend
- Framework: Node.js with Express - Fast, unopinionated, minimalist web framework
- Language: TypeScript - Strongly typed programming language
- Testing Library: Vitest - Blazing fast unit test framework
- API Documentation:
- Gateway Integration: Integration with Gateway Services for DSNP/Frequency functionality
- Containerization: Docker for consistent development and deployment environments
- Sign in with Frequency
- Create a post
- Create a comment on a post
- View a feed
- View other users' profiles
- Follow a user
- Gateway Live Docs
- Open Api docs coming soon...
-
See Frontend Readme
-
See Backend Readme
In order to run this project on anything other than a local chain, you need to...
- Become a provider. To do so, visit the Provider Dashboard!
- Note: If you're using localhost for the Frequency provider, you can complete this step after the installation process.
- Get Docker
Clone this repository to your desired folder:
Example commands:
git clone https://github.com/ProjectLibertyLabs/social-app-template.git
cd social-app-templateEnter the following command and answer the prompts. Press to accept the default values.
./start.shNote: When connecting to a local Frequency node, you will need to execute cd backend && npm install to install the necessary dependencies. See the Backend Readme for more details.
Enter the following command to stop the services:
./stop.shYou can deploy using containers. Check the docker-compose.yaml file for more details.
Contributions, issues, and feature requests are welcome!
- Contributing Guidelines
- Open Issues - Please search open issues before filing a new one.
-
Who is the Gateway built for?
-
Developers wanting a better understanding of how DSNP/Frequency works.
-
Developers wanting an example of integrating Gateway Services.
-
Who is a provider and how do you become one?
- Visit the Provider Dashboard!
-
Do I need Web 3 experience?
- Nope! The Gateway is an open source suite that enables Frequency integrations without web3 programming skills. The Gateway makes building/integrating a social network on the DSNP/Frequency stack as easy as a Web2 API integration.
-
Do I need to know anything about cryptocurrency?
- Nope! The Gateway has a coinless user interface that does not require using cryptocurrency tokens.
This project is Apache 2.0 licensed.
