{"id":25868422,"url":"https://github.com/daniel-covelli/nfty-feed","last_synced_at":"2026-01-04T20:00:45.618Z","repository":{"id":105766860,"uuid":"349824013","full_name":"daniel-covelli/nfty-feed","owner":"daniel-covelli","description":"🎨   Beginnings of a Social Network for NFTs.","archived":false,"fork":false,"pushed_at":"2024-07-15T16:52:29.000Z","size":27288,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-07-16T14:32:45.603Z","etag":null,"topics":["docker","graphql","nfts","postgresql","react","typeorm","yarn"],"latest_commit_sha":null,"homepage":"https://nftyfeed.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/daniel-covelli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-20T20:03:04.000Z","updated_at":"2024-07-15T16:52:33.000Z","dependencies_parsed_at":"2024-07-14T00:37:16.511Z","dependency_job_id":null,"html_url":"https://github.com/daniel-covelli/nfty-feed","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daniel-covelli%2Fnfty-feed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daniel-covelli%2Fnfty-feed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daniel-covelli%2Fnfty-feed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daniel-covelli%2Fnfty-feed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daniel-covelli","download_url":"https://codeload.github.com/daniel-covelli/nfty-feed/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241460064,"owners_count":19966511,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","graphql","nfts","postgresql","react","typeorm","yarn"],"created_at":"2025-03-02T04:38:18.147Z","updated_at":"2026-01-04T20:00:45.436Z","avatar_url":"https://github.com/daniel-covelli.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nfty-feed\n\nBeginnings of a Social Network for NFTs.\n\nThis 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\u0026ab_channel=BenAwad). The starter code can be found [here](https://github.com/benawad/jwt-auth-example).\n\n#### Architecture\n\n![simplified architecture](https://res.cloudinary.com/nftyfeed/image/upload/v1619587135/Screen_Shot_2021-04-27_at_10.16.04_PM_ncgrbn.png)\n\nThe project is deployed to Heroku (backend) and Netlify (frontend) with GQL/Apollo as the intermediary API layer.\n\n#### Feature Spotlight\n\n- Infinite Scroll\n- Invitations\n\n#### Technologies\n\n- Typescript\n- GraphQL (query/mutation layer)\n- TypeGraphQL (for integrating GQL and backend in TS)\n- PostgreSQL (for storing users)\n- TypeORM (interface with PostgreSQL)\n- React (frontend)\n- Apollo (to make requests in React)\n- Express (server)\n- Docker\n\n#### Active Scrum\n\n- [ ] fix logout error on reload on mobile\n- [ ] add url to profile\n- [ ] page not found\n- [ ] mobile bottom nav\n- [ ] react native\n- [ ] video\n- [ ] zoom\n- [x] remove underline from profile button\n- [x] post count on profile\n- [ ] followers/following modal\n\n#### Known Technical Debt\n\n- [ ] dropzone/cropper components\n- [ ] register/editprofile resolver logic\n- [ ] register component\n\n#### Archive\n\n- [x] infinite scroll\n- [x] invitations\n- [x] make invisible bug\n- [x] dropzone only images\n- [x] update cache on like\n- [x] fix message for routes that don't exist\n- [x] profile menu image instead of text\n- [x] design profile page\n- [x] implement profile editing\n- [x] profile image uploading\n- [x] cropping\n- [x] edit profile photo\n- [x] profile photo modal\n- [x] following/unfollowing\n- [x] posts\n- [x] navbar update\n\n- [x] Setup a GraphQL Server using TypeGraphQL and TypeORM\n- [x] Register a user/add them to DB\n- [x] Login users and create access and refresh tokens\n- [x] Make authenticated (protected) mutations and queries in GQL\n- [x] Refresh token if it expires\n- [x] Revoke tokens for a user if user logs out, deletes there account, or if their account gets hacked\n- [x] Put yarn workspace in a docker image\n- [x] Setup Apollo and GraphQL via Code Generator\n- [x] Create some routes using react router\n- [x] Register and Login form\n- [x] Protecting routes/persisting session on refresh\n- [x] Handling expired tokens\n- [x] Fetching current user in headers, etc...\n- [x] Logging out a user\n- [x] Add nav bar\n\nWebsite: https://nftyfeed.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaniel-covelli%2Fnfty-feed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaniel-covelli%2Fnfty-feed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaniel-covelli%2Fnfty-feed/lists"}