https://github.com/daniel-covelli/nfty-feed
🎨 Beginnings of a Social Network for NFTs.
https://github.com/daniel-covelli/nfty-feed
docker graphql nfts postgresql react typeorm yarn
Last synced: 6 months ago
JSON representation
🎨 Beginnings of a Social Network for NFTs.
- Host: GitHub
- URL: https://github.com/daniel-covelli/nfty-feed
- Owner: daniel-covelli
- Created: 2021-03-20T20:03:04.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-07-15T16:52:29.000Z (almost 2 years ago)
- Last Synced: 2024-07-16T14:32:45.603Z (almost 2 years ago)
- Topics: docker, graphql, nfts, postgresql, react, typeorm, yarn
- Language: TypeScript
- Homepage: https://nftyfeed.com
- Size: 26 MB
- Stars: 2
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# nfty-feed
Beginnings of a Social Network for NFTs.
This project was started off using [Ben Awad](https://github.com/benawad)'s YouTube tutorial on [JWT and React](https://www.youtube.com/watch?v=25GS0MLT8JU&ab_channel=BenAwad). The starter code can be found [here](https://github.com/benawad/jwt-auth-example).
#### Architecture

The project is deployed to Heroku (backend) and Netlify (frontend) with GQL/Apollo as the intermediary API layer.
#### Feature Spotlight
- Infinite Scroll
- Invitations
#### Technologies
- Typescript
- GraphQL (query/mutation layer)
- TypeGraphQL (for integrating GQL and backend in TS)
- PostgreSQL (for storing users)
- TypeORM (interface with PostgreSQL)
- React (frontend)
- Apollo (to make requests in React)
- Express (server)
- Docker
#### Active Scrum
- [ ] fix logout error on reload on mobile
- [ ] add url to profile
- [ ] page not found
- [ ] mobile bottom nav
- [ ] react native
- [ ] video
- [ ] zoom
- [x] remove underline from profile button
- [x] post count on profile
- [ ] followers/following modal
#### Known Technical Debt
- [ ] dropzone/cropper components
- [ ] register/editprofile resolver logic
- [ ] register component
#### Archive
- [x] infinite scroll
- [x] invitations
- [x] make invisible bug
- [x] dropzone only images
- [x] update cache on like
- [x] fix message for routes that don't exist
- [x] profile menu image instead of text
- [x] design profile page
- [x] implement profile editing
- [x] profile image uploading
- [x] cropping
- [x] edit profile photo
- [x] profile photo modal
- [x] following/unfollowing
- [x] posts
- [x] navbar update
- [x] Setup a GraphQL Server using TypeGraphQL and TypeORM
- [x] Register a user/add them to DB
- [x] Login users and create access and refresh tokens
- [x] Make authenticated (protected) mutations and queries in GQL
- [x] Refresh token if it expires
- [x] Revoke tokens for a user if user logs out, deletes there account, or if their account gets hacked
- [x] Put yarn workspace in a docker image
- [x] Setup Apollo and GraphQL via Code Generator
- [x] Create some routes using react router
- [x] Register and Login form
- [x] Protecting routes/persisting session on refresh
- [x] Handling expired tokens
- [x] Fetching current user in headers, etc...
- [x] Logging out a user
- [x] Add nav bar
Website: https://nftyfeed.com/