{"id":25861006,"url":"https://github.com/aleydon/next15","last_synced_at":"2026-05-18T06:39:25.173Z","repository":{"id":278471119,"uuid":"935726030","full_name":"Aleydon/Next15","owner":"Aleydon","description":"Next-15 template  configured with React 19, typescript, eslint, prettier, husky (pre-commit), storybook, prisma, jest, testing-library and more...","archived":false,"fork":false,"pushed_at":"2026-05-15T19:30:24.000Z","size":1997,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-05-15T22:19:51.759Z","etag":null,"topics":["full-stack","fullstack","javascript","jest","nextjs","prisma","prisma-orm","react","reactjs","storybook","tailwind","tailwind-css","tailwindcss","template","template-project","testing-library","typescript","web","website"],"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/Aleydon.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-19T23:14:02.000Z","updated_at":"2026-05-15T19:30:28.000Z","dependencies_parsed_at":"2025-02-20T00:31:25.372Z","dependency_job_id":"e21e62f5-199c-4dc4-b177-ea2980c68e2d","html_url":"https://github.com/Aleydon/Next15","commit_stats":null,"previous_names":["aleydon/next15"],"tags_count":0,"template":true,"template_full_name":"Aleydon/Next14","purl":"pkg:github/Aleydon/Next15","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aleydon%2FNext15","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aleydon%2FNext15/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aleydon%2FNext15/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aleydon%2FNext15/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aleydon","download_url":"https://codeload.github.com/Aleydon/Next15/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aleydon%2FNext15/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33167915,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T05:43:36.989Z","status":"ssl_error","status_checked_at":"2026-05-18T05:43:19.133Z","response_time":71,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["full-stack","fullstack","javascript","jest","nextjs","prisma","prisma-orm","react","reactjs","storybook","tailwind","tailwind-css","tailwindcss","template","template-project","testing-library","typescript","web","website"],"created_at":"2025-03-01T23:03:53.511Z","updated_at":"2026-05-18T06:39:25.169Z","avatar_url":"https://github.com/Aleydon.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e🚀 Next.js 15 Template 🚀\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"Next.js\" src=\"https://img.shields.io/badge/Next.js-000000?style=for-the-badge\u0026logo=next.js\u0026logoColor=white\" /\u003e\n  \u003cimg alt=\"React\" src=\"https://img.shields.io/badge/React-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB\" /\u003e\n  \u003cimg alt=\"TypeScript\" src=\"https://img.shields.io/badge/TypeScript-3178C6?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\" /\u003e\n  \u003cimg alt=\"Tailwind CSS\" src=\"https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge\u0026logo=tailwind-css\u0026logoColor=white\" /\u003e\n  \u003cimg alt=\"PostgreSQL\" src=\"https://img.shields.io/badge/PostgreSQL-316192?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white\" /\u003e\n  \u003cimg alt=\"Docker\" src=\"https://img.shields.io/badge/Docker-2496ED?style=for-the-badge\u0026logo=docker\u0026logoColor=white\" /\u003e\n  \u003cimg alt=\"Prisma\" src=\"https://img.shields.io/badge/Prisma-2D3748?style=for-the-badge\u0026logo=prisma\u0026logoColor=white\" /\u003e\n  \u003cimg alt=\"Jest\" src=\"https://img.shields.io/badge/Jest-C21325?style=for-the-badge\u0026logo=jest\u0026logoColor=white\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003cimg width=\"900\" src=\"./assets/next14.png\" alt=\"logo of Next15 repository\"\u003e\n  \u003cbr\u003e\n  \u003cbr\u003e\n\u003c/p\u003e\n\n## 📖 About The Project\n\nThis is a robust template for **Next.js 15** projects, pre-configured with a modern development stack to ensure productivity, code quality, and scalability. It includes tools for databases, testing, component documentation, and much more.\n\n---\n\n## ✨ Key Features\n\n- **Framework:** [Next.js 15](https://nextjs.org/)\n- **Language:** [TypeScript](https://www.typescriptlang.org/)\n- **Styling:** [Tailwind CSS](https://tailwindcss.com/)\n- **Database:** [PostgreSQL](https://www.postgresql.org/) with [Prisma ORM](https://www.prisma.io/)\n- **Containerization:** [Docker](https://www.docker.com/)\n- **Testing:** [Jest](https://jestjs.io/) \u0026 [Testing Library](https://testing-library.com/)\n- **Component Documentation:** [Storybook](https://storybook.js.org/)\n- **Code Quality:** [ESLint](https://eslint.org/) \u0026 [Prettier](https://prettier.io/)\n- **Standardized Commits:** [Commitizen](https://commitizen-tools.github.io/commitizen/), [Commitlint](https://commitlint.js.org/) \u0026 [Husky](https://typicode.github.io/husky/)\n\n---\n\n## 🌿 Branches\n\nThis project has multiple branches to showcase different database configurations:\n\n- **`master`**: The main branch, configured with **Prisma ORM**.\n- **`Aleydon`**: A development branch, also configured with **Prisma ORM**.\n- **`Drizzle`**: This branch is configured with **Drizzle ORM**.\n\n---\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- [Node.js](https://nodejs.org/en/) (version 18 or higher)\n- [Docker](https://www.docker.com/get-started)\n\n### Steps\n\n1. **Clone the repository:**\n\n   ```sh\n   git clone https://github.com/Aleydon/Next15.git\n   ```\n\n2. **Navigate to the project directory:**\n\n   ```sh\n   cd Next15\n   ```\n\n3. **Install dependencies:**\n\n   ```sh\n   npm install\n   ```\n\n4. **Set up environment variables:**\n   - Rename the `enviroment-example.env` file to `.env`.\n   - Fill in the required environment variables in the `.env` file.\n\n5. **Start the Docker environment:**\n   - This command will build and start the PostgreSQL container.\n\n   ```sh\n   npm run docker:start\n   ```\n\n6. **Run the database migrations:**\n   - This command will create the database tables based on your Prisma schema.\n\n   ```sh\n   npm run prisma:migrate\n   ```\n\n7. **Start the development server:**\n   ```sh\n   npm run dev\n   ```\n\n---\n\n## 📜 Available Scripts\n\n| Script            | Description                                                     |\n| ----------------- | --------------------------------------------------------------- |\n| `dev`             | Starts the Next.js development server.                          |\n| `build`           | Builds the application for production.                          |\n| `start`           | Starts a production server.                                     |\n| `lint`            | Runs ESLint to analyze and fix the code.                        |\n| `docker:start`    | Starts the services defined in `docker-compose.yml`.            |\n| `prisma:migrate`  | Runs Prisma migrations to update the database.                  |\n| `prisma:generate` | Generates the Prisma Client based on your schema.               |\n| `prisma:studio`   | Opens Prisma Studio to view and edit your data.                 |\n| `test`            | Runs the unit and integration tests.                            |\n| `test:watch`      | Runs the tests in watch mode.                                   |\n| `commit`          | Starts the Commitizen assistant to create standardized commits. |\n| `storybook`       | Starts Storybook to view and develop components.                |\n| `build-storybook` | Builds Storybook for production.                                |\n\n---\n\n## 🐳 Docker\n\nThe development environment uses Docker to manage the PostgreSQL database.\n\n- **Start the container:**\n  ```sh\n  npm run docker:start\n  ```\n  This command will build and start the database container in the background.\n\n---\n\n## 💿 Prisma\n\nPrisma is used as an ORM to interact with the database.\n\n- **Apply migrations:**\n\n  ```sh\n  npm run prisma:migrate\n  ```\n\n  Creates and applies migrations to the database based on `schema.prisma`.\n\n- **Generate Prisma Client:**\n\n  ```sh\n  npm run prisma:generate\n  ```\n\n  Generates or updates the Prisma Client whenever `schema.prisma` is modified.\n\n- **Open Prisma Studio:**\n  ```sh\n  npm run prisma:studio\n  ```\n  Opens a visual interface in the browser to view and manage the database data.\n\n---\n\n## 🧪 Testing\n\nThis project uses **Jest** and **Testing Library** for testing.\n\n- To run the tests, execute:\n  ```sh\n  npm run test\n  ```\n- To run the tests in watch mode:\n  ```sh\n  npm run test:watch\n  ```\n\nA test example can be found in `src/app/page.spec.tsx`.\n\n---\n\n## 🎨 Storybook\n\nVisualize and develop your components in isolation with **Storybook**.\n\n- To start Storybook:\n  ```sh\n  npm run storybook\n  ```\n\nA story example can be found in `src/app/components/Text/text.stories.tsx`.\n\n\u003cp align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003cimg width=\"1100\" src=\"./assets/storybok_screen_shot.png\" alt=\"storybook running\"\u003e\n  \u003cbr\u003e\n  \u003cbr\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faleydon%2Fnext15","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faleydon%2Fnext15","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faleydon%2Fnext15/lists"}