This is a fork of LibertyDSNP/example-client for demo purposes.
Enzyme is not ready for react 17 yet, so using an unofficial version and installing
packages with npm i --legacy-peer-deps
if using node v7.
- Change to official version of enzyme when correct version is available.
- Issue: enzymejs/enzyme#2429
Below is a list of important libraries and dependecies for the project and what their purpose is.
Package Management: Node Package Manager (npm)
State Management: React Redux for easier context passing of state
Network Request: Web3.js for etherium blockchain interaction
Frontend Framework:
- ReactJS with Typescript
- SCSS with BEM methodology
- Responsive with Desktop first priority
- Utilize media queries, SCSS mixing
- Ant Design Library for Prebuilt React Components
Testing:
- Tests written in Jest and Enzyme
- CI/CD done with Github Actions
- Create a new profile
- Edit your profile
- See other users' profiles
- Publicly follow/unfollow other users
- Display list of followers/following
- Create a public post
- View a public post in the feed
- Comment on a public post
- Note: only to one degree of depth
- React to posts
- Filter and navigate through the feed
- My Posts
- My FeedNavigation
- A specific user's posts
- Main FeedNavigation
The features of the Example Client are subject to change with future versions and as decisions are made on the DSNP SDK.
Follow this quick start guide to get up and running. This guide assumes a working knowledge of npm and git. Make sure to check out the CONTRIBUTING.md as well.
- Clone the example-client repository:
git clone [email protected]:LibertyDSNP/example-client.git
- Install the correct npm and node version. Recommend using asdf:
asdf install
- Install modules:
npm install
- Copy
.env.example
to.env
and edit as needed. - Start up site locally:
npm run start
- Visit http://localhost:3000 (or you configured port)
Contributing Guide: To contribute to this project please read our CONTRIBUTING.md This files will provide the details on everything from requesting features, to reporting bugs, to making your own PR requests.
Style Guide: The layout of this project adheres to a specific style guide that you can find in STYLING.md This file will provide the details on the many different facets of the look and feel of this project. It is required to adhere to this style guide when making contributions to the project.
Code of Conduct: In all interactions we request everyone review, understand, and follow our CODE OF CONDUCT
Licensing: Before doing anything beyond reading through the project please take a moment to view our LICENSE.md