Skip to content

Latest commit

Β 

History

History
107 lines (86 loc) Β· 3.71 KB

File metadata and controls

107 lines (86 loc) Β· 3.71 KB

Next.js 15 - Template for Your Projects

This repository serves as a template for building modern web applications with Next.js. It comes pre-configured with essential tools and systems, allowing you to focus on building your application without unnecessary dependencies.

πŸš€ Features

  • Authentication with Auth.js: Fully functional user authentication system.
  • Email Management with Resend: Easily send and manage emails in your application.
  • Validation with Zod: Robust runtime validation and type inference for your data.
  • Database with Prisma and PostgreSQL: ORM setup for efficient database management.
  • TypeScript: Strongly typed development for better code quality and maintainability.
  • Shadcn/ui: Pre-configured UI components styled with Tailwind CSS.
  • Tailwind v4: A utility-first CSS framework for rapidly building custom user interfaces.
  • React icons: Include popular icons in your React projects easily with react-icons.
  • Nanoid: A tiny (124 bytes), secure, URL-friendly, unique string ID generator for JavaScript

πŸ“‚ Project Structure

This template follows a clear and modular structure to make it easy to navigate and extend.

.
β”œβ”€β”€ auth.config.ts        # Authentication configuration (providers..)
β”œβ”€β”€ auth.ts
β”œβ”€β”€ middleware.ts         # middleware for auth routes
β”œβ”€β”€ routes.ts             # Setting up routes for auth
β”œβ”€β”€ actions/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ api/
β”‚   β”‚   └── auth/
β”‚   β”‚       └── [...nextauth]/
β”‚   β”‚           └── route.ts
β”‚   β”œβ”€β”€ auth/
β”‚   β”‚   β”œβ”€β”€ error/
β”‚   β”‚   β”œβ”€β”€ login/
β”‚   β”‚   β”œβ”€β”€ new-password/
β”‚   β”‚   β”œβ”€β”€ new-verification/
β”‚   β”‚   β”œβ”€β”€ register/
β”‚   β”‚   └── reset/
β”‚   └── app/
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ auth/             # auth components
β”‚   └── ui/               # shadcn/ui components
β”œβ”€β”€ data/
β”œβ”€β”€ hooks/
β”œβ”€β”€ lib/
β”œβ”€β”€ prisma/
β”œβ”€β”€ public/
└── schemas/

πŸ› οΈ Installation and Setup

To start using this template, follow these steps:

  1. Clone the repository:

    git clone https://github.com/ArtyomCZ/nextjs15.git
    cd nextjs15
  2. Install dependencies:

    npm install
  3. Set up environment variables: Create a .env file in the root directory and configure the following variables:

    DATABASE_URL=postgresql://<USER>:<PASSWORD>@<HOST>:<PORT>/<DATABASE>
    RESEND_API_KEY=<YOUR_RESEND_API_KEY>
    NEXTAUTH_SECRET=<YOUR_NEXTAUTH_SECRET>
  4. Run database migrations:

    npx prisma migrate dev
  5. Start the development server:

    npm run dev
  6. Access the application: Open your browser and navigate to http://localhost:3000.

πŸ“– Learn More

Here are some resources to help you understand the technologies used:

🀝 Contributing

If you'd like to contribute to this project, fork the repository, make your changes, and submit a pull request. Contributions are welcome!

❀️ Partnership

This project is proudly supported by Denik.app – a modern trading journal and financial research tool. Denik.app helps traders and investors keep a clear trading journal, analyze their strategies, and improve results with the help of advanced AI features.