{"id":28316309,"url":"https://github.com/arthur199212/nextjs-posts-app","last_synced_at":"2025-08-20T00:40:21.626Z","repository":{"id":40872895,"uuid":"234589474","full_name":"Arthur199212/nextjs-posts-app","owner":"Arthur199212","description":"Technologies: Node, Express, MongoDB, Apollo GraphQL, Redis, Next.js, React, Material-UI, TypeScript, Docker.","archived":false,"fork":false,"pushed_at":"2023-01-05T05:34:28.000Z","size":7327,"stargazers_count":9,"open_issues_count":39,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-29T02:18:18.982Z","etag":null,"topics":["apollo-graphql","docker-compose","express","formik","material-ui","momentjs","mongodb","nextjs","node","react","redis","redux-thunk","typescript"],"latest_commit_sha":null,"homepage":"","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/Arthur199212.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}},"created_at":"2020-01-17T16:29:27.000Z","updated_at":"2024-09-04T06:44:11.000Z","dependencies_parsed_at":"2023-02-03T13:45:32.068Z","dependency_job_id":null,"html_url":"https://github.com/Arthur199212/nextjs-posts-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Arthur199212/nextjs-posts-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arthur199212%2Fnextjs-posts-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arthur199212%2Fnextjs-posts-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arthur199212%2Fnextjs-posts-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arthur199212%2Fnextjs-posts-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Arthur199212","download_url":"https://codeload.github.com/Arthur199212/nextjs-posts-app/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Arthur199212%2Fnextjs-posts-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271247256,"owners_count":24725905,"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","status":"online","status_checked_at":"2025-08-19T02:00:09.176Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["apollo-graphql","docker-compose","express","formik","material-ui","momentjs","mongodb","nextjs","node","react","redis","redux-thunk","typescript"],"created_at":"2025-05-25T02:11:18.630Z","updated_at":"2025-08-20T00:40:21.577Z","avatar_url":"https://github.com/Arthur199212.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nextjs-app\n\n### MVP\n- [x] Can register\n- [x] Can login\n- [x] Can logout\n- [x] Can view/create/update/delete posts\n- [ ] Can bookmark posts\n\n```sh\n\n# Register\ncurl -v -X POST localhost:4000/register -H \"Content-Type:application/json\" -d \"{\\\"name\\\":\\\"Arthur\\\",\\\"email\\\":\\\"arthur@gmail.com\\\",\\\"password\\\":\\\"Secret12\\\",\\\"passwordConfirmation\\\":\\\"Secret12\\\"}\"\n\n# Login\ncurl -v -X POST localhost:4000/login -H \"Content-Type:application/json\" -d \"{\\\"email\\\":\\\"arthur@gmail.com\\\",\\\"password\\\":\\\"Secret12\\\"}\"\n\n# Logout\ncurl -v -X POST localhost:4000/logout --cookie \"sid=s%3A8vDQNisgzetBC_GGcGjg5TG0mhFHw3XF.esGhOENn%2FjQCiaoIhxKEJHuhbFBAjdZEApsoZvrfh2s\"\n\n```\n\n```sh\n\ndocker exec -it nextjs-app_db_1 mongo -u admin -p secret auth\n\n```\n\n## Technologies\n\n### Back-End\n\n- Node + Express\n- GraphQL + Apollo Server\n- express-session + Redis\n- MongoDB + Mongoose\n\n### Front-End\n\n- Next.js + React 16.8+\n- Redux\n- TypeScript\n- Apollo Client\n- Material-UI\n\n### DevOps\n- Docker\n\n## Screenshots\n\n### Blog\n\n![main_page_1](https://raw.githubusercontent.com/Arthur199212/nextjs-posts-app/master/images/01.PNG)\n![main_page_2](https://raw.githubusercontent.com/Arthur199212/nextjs-posts-app/master/images/02.PNG)\n\n### Pagination\n\n![main_page_3](https://raw.githubusercontent.com/Arthur199212/nextjs-posts-app/master/images/03.PNG)\n\n### Form validation\n\n![register_page_1](https://raw.githubusercontent.com/Arthur199212/nextjs-posts-app/master/images/04.PNG)\n![register_page_2](https://raw.githubusercontent.com/Arthur199212/nextjs-posts-app/master/images/05.PNG)\n\n### Notification\n\n![notification_1](https://raw.githubusercontent.com/Arthur199212/nextjs-posts-app/master/images/06.PNG)\n\n### Post page\n\n![post_page_1](https://raw.githubusercontent.com/Arthur199212/nextjs-posts-app/master/images/07.PNG)\n\n### Responsive\n\n![responsive_1](https://raw.githubusercontent.com/Arthur199212/nextjs-posts-app/master/images/08.PNG)\n![responsive_2](https://raw.githubusercontent.com/Arthur199212/nextjs-posts-app/master/images/09.PNG)\n![responsive_3](https://raw.githubusercontent.com/Arthur199212/nextjs-posts-app/master/images/10.PNG)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farthur199212%2Fnextjs-posts-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farthur199212%2Fnextjs-posts-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farthur199212%2Fnextjs-posts-app/lists"}