This repository hosts a modern web application built with Next.js, initialized using create-next-app. The project primarily utilizes TypeScript, ensuring robust type-checking and a seamless developer experience.
- Installation
- Method 1: Using Docker (Recommended)
- Method 2: Traditional Setup
- Usage
- Scripts
- Project Structure
- Deployment
- Contributing
- License
Choose one of the following installation methods:
docker run -p 3000:3000 ghcr.io/pulkitxm/devpulkit.in:latest
Then open http://localhost:3000 in your browser to see the application.
-
Clone the repository:
git clone https://github.com/Pulkitxm/devpulkit.in.git cd devpulkit.in
-
Install the dependencies:
npm install
-
Create a
.env
using the.env.example
file:cp .env.example .env
To start the development server, run:
npm run dev
Then open http://localhost:3000 in your browser to see the application.
The following npm scripts are available to streamline development and production workflows:
dev
: Starts the development server with turbo mode.clean
: Removes the.next
andnode_modules
directories.ins:clean
: Cleans the project and installs dependencies using pnpm.dev:clean
: Cleans the project, installs dependencies, and starts the development server.build
: Builds the application for production.build:clean
: Cleans the project, installs dependencies, and builds the application.start
: Runs the built application in production mode.serve
: Builds the application and starts it in production mode.serve:clean
: Cleans, builds, and starts the application in production mode.lint
: Runs ESLint to check for linting errors.format
: Formats the codebase using Prettier.check
: Checks the code formatting using Prettier.prepare
: Prepares the project for husky.
.
├── .github/ # GitHub Actions workflows
├── .husky/ # Git hooks
├── public/ # Static assets
├── src/
│ ├── actions/ # Server actions
│ ├── app/ # Next.js app router pages
│ │ ├── api/ # API routes
│ │ └── [...routes]/ # App routes
│ ├── assets/ # Asset imports and configs
│ ├── components/ # React components
│ │ ├── ui/ # Reusable UI components
│ │ └── [...components]/ # Feature components
│ ├── data/ # Data and configurations
│ ├── lib/ # Utility functions
│ └── types/ # TypeScript types
├── .dockerignore # Docker ignore rules
├── .env.example # Environment variables example
├── .eslintrc.json # ESLint configuration
├── .gitignore # Git ignore rules
├── .prettierrc # Prettier configuration
├── components.json # UI components config
├── Dockerfile # Docker configuration
├── next.config.mjs # Next.js configuration
├── package.json # Project dependencies
├── pnpm-lock.yaml # pnpm lock file
├── tailwind.config.ts # Tailwind configuration
├── tsconfig.json # TypeScript configuration
└── README.md # Project documentation
To deploy the application, build the project and deploy the contents of the out directory to your preferred hosting service:
npm run build
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature
- Commit your changes:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature/your-feature
- Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.