{"id":23582641,"url":"https://github.com/anucha-tk/nextjs-express","last_synced_at":"2026-04-12T13:05:27.168Z","repository":{"id":245057632,"uuid":"816792684","full_name":"anucha-tk/nextjs-express","owner":"anucha-tk","description":"A robust and scalable full-stack application built with modern web technologies and best practices.","archived":false,"fork":false,"pushed_at":"2024-08-06T02:32:02.000Z","size":851,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-16T22:13:41.047Z","etag":null,"topics":["authentication","chakra-ui","docker","expressjs","nextjs14","postgresql","prisma-orm","react-hook-form","redux-toolkit","turborepo","vitest"],"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/anucha-tk.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null}},"created_at":"2024-06-18T12:15:18.000Z","updated_at":"2024-08-06T02:32:05.000Z","dependencies_parsed_at":"2024-07-06T11:48:58.434Z","dependency_job_id":"9116d86d-9483-4aa3-b8a3-6673f1accb5d","html_url":"https://github.com/anucha-tk/nextjs-express","commit_stats":null,"previous_names":["anucha-tk/nextjs-express"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/anucha-tk/nextjs-express","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anucha-tk%2Fnextjs-express","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anucha-tk%2Fnextjs-express/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anucha-tk%2Fnextjs-express/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anucha-tk%2Fnextjs-express/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anucha-tk","download_url":"https://codeload.github.com/anucha-tk/nextjs-express/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anucha-tk%2Fnextjs-express/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265503186,"owners_count":23778025,"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":["authentication","chakra-ui","docker","expressjs","nextjs14","postgresql","prisma-orm","react-hook-form","redux-toolkit","turborepo","vitest"],"created_at":"2024-12-27T01:12:23.964Z","updated_at":"2026-04-12T13:05:27.128Z","avatar_url":"https://github.com/anucha-tk.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nextjs Express\n\n\u003c!--toc:start--\u003e\n\n- [Nextjs Express](#nextjs-express)\n  - [Tools and Tech](#tools-and-tech)\n    - [Infrastructure](#infrastructure)\n    - [Front-End](#front-end)\n    - [Authentication](#authentication)\n    - [Back-End](#back-end)\n  - [Project Features](#project-features)\n  - [Getting Started](#getting-started)\n    - [Run Postgresql on docker](#run-postgresql-on-docker)\n  - [How to test](#how-to-test)\n  - [Screenshot](#screenshot)\n  - [Credit](#credit)\n  \u003c!--toc:end--\u003e\n\nA robust and scalable full-stack application built with modern web technologies and best practices.\n\n## Tools and Tech\n\n### Infrastructure\n\n- **Turborepo**: Efficiently manage our monorepo structure.\n- **Docker**: Containerized environments for consistent development and deployment.\n- **Husky**: Automate and enforce code quality checks with Git hooks.\n- **Commitlint**: Ensure commit messages follow a specific convention.\n- **Lint-staged**: Run linters on staged files before committing.\n- **Release-it**: Automate versioning and releases.\n\n### Front-End\n\n- **Next.js 14**: The latest version of Next.js for server-side rendering and static site generation.\n- **Chakra UI**: A simple, modular, and accessible component library for React.\n- **React Hook Form**: Performant, flexible, and extensible forms with easy-to-use validation.\n- **Yup**: Schema builder for value parsing and validation.\n\n### Authentication\n\n- **Login, Logout, GetMe, Refresh Token**: Secure authentication flows with HttpOnly cookies and middleware.\n- **Redux Toolkit**: Simplified state management with Redux.\n\n### Back-End\n\n- **Express**: Minimalist web framework for Node.js.\n- **Logger**: Centralized and customizable logging.\n- **Response Handler \u0026 Error Handler**: Standardized response and error handling mechanisms.\n- **PostgreSQL**: Powerful, open-source object-relational database system.\n- **Prisma ORM**: Next-generation ORM for Node.js and TypeScript.\n- **Joi**: Powerful schema description and data validation.\n- **Vitest**: Blazing fast unit testing framework.\n\n## Project Features\n\n- **UI/UX**: Built with Chakra UI for a modern and responsive design.\n- **Forms**: Handle complex form interactions and validations with React Hook Form and Yup.\n- **Authentication**: Secure authentication system with JWT, refresh tokens, and HttpOnly cookies.\n- **API**: Robust back-end API with Express, including logging, response handling, and error handling.\n- **Database**: Utilize PostgreSQL and Prisma ORM for efficient data management.\n- **Validation**: Ensure data integrity with Joi schemas.\n- **Testing**: Write and run unit tests with Vitest to ensure code quality and reliability.\n\n## Getting Started\n\n### Run Postgresql on docker\n\n```bash\nmake dev-postgres-local\n```\n\n## How to test\n\n```bash\nyarn workspace api test:int\nyarn workspace api test:int -t [filter]\nyarn workspace api test:int:watch\nyarn workspace api test:cov\n```\n\n## Screenshot\n\n![Alt text](doc/images/screenshot_1.png)\n\n## Credit\n\n[chakra-templates](https://chakra-templates.vercel.app/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanucha-tk%2Fnextjs-express","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanucha-tk%2Fnextjs-express","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanucha-tk%2Fnextjs-express/lists"}