Skip to content

ProjectLibertyLabs/social-app-template

Repository files navigation

Social App Template

The Social Application Template (SAT) is an example client app that demonstrates how to use Gateway Services for integrating with Frequency and DSNP.

πŸ“— Table of Contents

The Social Application Template (SAT) is an example client app that demonstrates how to use Gateway Services.

πŸ“– Social Application Template (SAT)

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.

πŸ”­ Arch Maps

Overview of the Social App Template in relation to Gateway Services

Arch Map

Key: * = coming soon

(back to top)

πŸ›  Built With

Tech Stack

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:
  • 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

Key Features

  • Sign in with Frequency
  • Create a post
  • Create a comment on a post
  • View a feed
  • View other users' profiles
  • Follow a user

(back to top)

πŸš€ Live Docs

(back to top)

πŸ’» Getting Started

Prerequisites

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

Setup

Clone this repository to your desired folder:

Example commands:

  git clone https://github.com/ProjectLibertyLabs/social-app-template.git
  cd social-app-template

Quick Start

Enter the following command and answer the prompts. Press to accept the default values.

  ./start.sh

Note: 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.

Shutting Down

Enter the following command to stop the services:

  ./stop.sh

Deployment

You can deploy using containers. Check the docker-compose.yaml file for more details.

(back to top)

🀝 Contributing

Contributions, issues, and feature requests are welcome!

(back to top)

❓FAQ

  • 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?

  • 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.

(back to top)

πŸ“ License

This project is Apache 2.0 licensed.

(back to top)

About

Social Application Template that uses Gateway Services

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 11