This is a starter template for a Next.js project, pre-configured with tRPC, Drizzle, Lucia, Tailwind CSS, and ShadCN. It provides a solid foundation for building full-stack web applications with authentication, styling, and database management.
- Next.js: The React framework for production.
- tRPC: Type-safe APIs with zero boilerplate.
- Drizzle: Modern SQL ORM for TypeScript.
- Lucia: Lightweight and flexible authentication for TypeScript.
- Tailwind CSS: A utility-first CSS framework for rapid UI development.
- ShadCN: A collection of ready-made components for use with Tailwind CSS.
The project is structured as follows:
/app
: Contains the pages of the application./lib
: Contains utility functions./lucia
: Contains the Lucia Configuration./drizzle
: Contains the Drizzle Configuration./trpc
: Contains the tRPC Configuration./api/routers
: Contains the routes used by the tRPC instance./api/context
: Contains the context used by the tRPC instance./api/@client
: Contains the tRPC client instance./api/@server
: Contains the tRPC server instance.
Ensure you have the following installed on your machine:
- Clone the repository:
git clone https://github.com/philldev/nlttd-stack.git your-project-name
- Navigate to the project directory:
cd your-project-name
- Install dependencies:
bun install
- Create a
.env.local
file in the root directory and add the following environment variables:
DATABASE_URL=your_database_url
DATABASE_AUTH_TOKEN=your_database_auth_token
- Run drizzle database migrations:
bun run db:generate && bun run db:migrate
- Run the development server:
bun dev
Your application should be running at http://localhost:3000.
To deploy the application, you can use any of the following methods:
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b <branch-name>
. - Make your changes and commit them:
git commit -m '<commit-message>'
. - Push to the branch:
git push origin <branch-name>
. - Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for more information.