A dynamic dashboard designed to monitor key metrics such as total visitors, emails received, and project management tasks. Built with modern technologies like Next.js, AWS, NextAuth for authentication, and PostgreSQL for data management, providing a seamless and secure user experience for tracking and managing important project insights.
├── CHANGELOG.md
├── components.json
├── compose.yaml
├── Dockerfile
├── next-env.d.ts
├── next.config.ts
├── output.txt
├── package-lock.json
├── package.json
├── postcss.config.mjs
├── prisma
| ├── migrations
| └── schema.prisma
├── public
├── README.Docker.md
├── README.md
├── src
| ├── app
| ├── assets
| ├── components
| ├── hooks
| ├── interfaces
| ├── lib
| ├── middleware.ts
| ├── schema
| ├── swr
| └── types
├── tailwind.config.ts
└── tsconfig.json
AWS_SKEY = your-aws-secret-key
AWS_AKEY = your-aws-access-key
AWS_REGION = aws-region
AWS_BUCKET_NAME= aws-bucket-name
NEXT_PUBLIC_AWS_LINK = your aws bucket link (should be accessible via public since we are fetching the images)
NEXT_PUBLIC_EMAILJS_SERVICE_ID= your-emailjs-service-id
NEXT_PUBLIC_EMAILJS_TEMPLATE_ID= your-emailjs-template-id
NEXT_PUBLIC_EMAILJS_PK= your-emailjs-private-key
NEXT_PUBLIC_USER = 9d6f76b3-68f5-47e9-9c76-6b819770d166
URL = http://localhost:3000 - default, if you plan to deploy your website change this url to your website's url.
EMAIL = your-email-address
# Please refer to this documentation https://supabase.com/partners/integrations/prisma
DATABASE_URL= your-database-url
DIRECT_URL= your-database-url
NEXTAUTH_URL=http://localhost:3000 - default, if you plan to deploy this project do not include this.
NEXTAUTH_SECRET= your-own-secret key.
To run the development server:
npm run install --forceI am using NextJS 15 with React 19 hence --force option is needed.npx prisma generateto generate schema modelsnpm run dev
To run the dockerize app please ensure that you have already created .env file and ensure that there are no missing attributes.
There are several ways to run the application
docker-compose up- Easiest- Build the docker with volumes
docker build -t <name> .and to rundocker run -p 3000:3000 <name>.
This project's key feature is an all in one portfolio with dashboard for key metrics monitoring. Here are the key features.
- Key Metrics Monitoring: Track total projects, total visitors, and total emails with visual charts.
- Project Creation: Includes support for file uploads.
- Secure Authentication: Built with NextAuth for enhanced security.
- File Storage: Integrated with AWS S3 for efficient and reliable file storage.
- CI/CD Versioning: Set up with GitHub Actions for continuous integration and deployment (ongoing).
- Dockerized Application: Simplified deployment and usage through containerization.
Built with love <3