This project is a Next.js application created as a submission for the Balanceè DevOps Internship. It features a responsive and dynamic landing page.
- Next.js framework
- TypeScript support
- Responsive design with Tailwind CSS
- Docker containerization
- Nginx as a reverse proxy
- CI/CD pipeline with GitHub Actions
Before you begin, ensure you have the following installed:
- Node.js (v18 or later)
- pnpm (v9 or later)
- Docker and Docker Compose
- Git
-
Clone the repository:
git clone https://github.com/Ravencodess/balancee.git cd balancee-internship-submission -
Install dependencies:
pnpm install
To run the application in development mode:
pnpm dev
The application will be available at http://localhost:3000.
To build and start the application in production mode:
pnpm build
pnpm start
To run the unit tests:
pnpm test
To run the end-to-end tests with Cypress:
pnpm test:e2e
This project includes Docker and Docker compose configuration for easy deployment. To build and run the Docker containers: The docker compose file first tries to pull the image but defaults to building the Dockerfile if the image is not found
docker-compose up -d
The application will be available at http://localhost:3080.
This project uses GitHub Actions for continuous integration and deployment. The workflow includes:
- Installing dependencies
- Running unit tests
- Building the application
- Running Cypress tests
- Deploying the application (if configured)
The workflow is triggered on pushes to the main branch.
project-root/
├── .github/
│ └── workflows/
│ └── main.yml
├── src/
│ ├── pages/
│ ├── components/
│ ├── styles/
│ └── __tests__/
├── cypress/
├── public/
├── .gitignore
├── package.json
├── next.config.js
├── tailwind.config.js
├── tsconfig.json
├── jest.config.js
├── jest.setup.js
├── Dockerfile
├── docker-compose.yaml
└── nginx.conf
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.