Skip to content
/ ProjectHub Public template

A comprehensive platform that integrates various ai-powered tools and useful websites

License

Notifications You must be signed in to change notification settings

Tushar98644/ProjectHub

Repository files navigation

Welcome to Project HUB

A comprehensive platform that integrates various ai-powered tools and useful websites. It is a one-stop hub for resources such as language translator ,an image generator etc .Whether users have developed a new AI authentication, tool, a useful website, or enhancing any other digital project, application users can submit for approval . Once approved by the admin , the project will be added to the project section providig a platform for sharing their work with the community.

Live demo

The site is deployed through Vercel, which you can view from here

🚀 Main Features

  • ChatBot
  • 3D Animations
  • Approval System
  • Role-based Authentication
  • Custom Loader
  • Discussion section
  • Search and voice-to-text
  • Real-time Notifications
  • Real-time data updates

📃Pages

  • Homepage
  • Add project page
  • Contact page
  • Admin page (accessible only to admin)
  • Discussion page(for each project)
  • Message page (admin only)
  • 404 Error page

💻 Tech Stack

  • Nextjs
  • Typescript
  • NextAuth
  • Tailwindcss
  • MongoDB
  • Docker
  • Jest

🤝 Credits

3D Animation : LottieFiles
ChatBot Model : OpenAI Api

Prerequisites

Required to install and run the software:

  • pnpm

If you don't have pnpm installed, you can install it by following the below steps :

Using npm

npm install -g pnpm

Using Homebrew

If you have the package manager installed, you can install pnpm using the following command:

brew install pnpm

Using winget

If you have winget installed, you can install pnpm using the following command:

winget install pnpm

Using Scoop

If you have Scoop installed, you can install pnpm using the following command:

scoop install nodejs-lts pnpm

Using Choco

If you have Chocolatey installed, you can install pnpm using the following command:

choco install pnpm

Alternatively you can delete the pnpm-lock.yaml file and install the dependencies with either yarn or npm

This is a Next.js project bootstrapped with create-next-app

🌟 Getting Started

create a .env file and paste the follwing content in there :

GITHUB_ID=""
GITHUB_SECRET=""
GOOGLE_ID=""
GOOGLE_SECRET=""
SECRET=""
MONGODB_URI=""
NEXT_PUBLIC_ADMIN_EMAIL=""
OPENAI_API_KEY=""
NEXTAUTH_URL=""

Now, create your own credentials for the providers , OpenAI api and MongoDB cluster and place them in the corresponding fields ,put the email in the NEXT_PUBLIC_ADMIN_EMAIL field which you want to give admin privileges

From the project folder, run these commands in the console (terminal) to install dependencies and run the app:

npm run dev -p 5000
# or
yarn dev -p 5000
# or
pnpm dev -p 5000

Open http://localhost:5000 with your browser to see the result.

🐳 Run using Docker

The project can also be run using docker. To run the project using docker, run the following command in the terminal:

docker-compose up

This command will start all the containers listed in the docker-compose.yml file. There are two Dockerfile in the project. The command will build the Dockerfile.dev and start the server. The Dockerfile.dev file is used for development purposes. The Dockerfile file is used for production purposes.

To build the Dockerfile instead, run the following command in the terminal:

docker build . -f Dockerfile -t <image-name>

The above command will build the Dockerfile file and create an image. To run the image, run the following command in the terminal:

docker run -p 5000:5000 <image-id>

or you can simply change the image name in the docker-compose.yml file and run the following command in the terminal:

docker-compose up

Note : You need to have docker installed on your system. Also make sure to add the credentials in the .env file before running the above command. The above command will start the server on port 5000.You can change the default port by changing the NEXTAUTH_URL in the .env file.

🖼️ Some glimpse of the site

Login Page

Screenshot 2024-02-09 at 9 05 05 PM

Home Page

Screenshot 2024-02-09 at 9 04 28 PM

Add Project Page

Screenshot 2024-02-09 at 9 02 29 PM

Contact Page

Screenshot 2024-02-09 at 9 03 45 PM

Admin Page

Screenshot 2024-02-09 at 9 02 42 PM

Discussion Page

Screenshot 2024-02-09 at 9 04 08 PM

Message Page

Screenshot 2024-02-09 at 9 02 55 PM

404 Page

Screenshot 2024-02-09 at 9 03 21 PM

ChatBot

Screenshot 2024-02-09 at 9 04 28 PM

Star History

Star History Chart

Activity

Alt

Author

👤 Tushar Banik

🐛 Bug Reporting

Feel free to open an issue on GitHub if you find any bug.

⭐ Feature Request

Feel free to Open an issue on GitHub to request any additional features you might need for your use case.

🤝 Contributing to the Project

If you wish to contribute to the project, we advise checking out the CONTRIBUTING.md file as a starting point. We expect that you adhere to the guidelines mentioned in the CONTRIBUTING.md and CODE_OF_CONDUCT.md.

📜 License

This software is open-source, licensed under the MIT License.

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform

Check out the Next.js deployment documentation for more details.

🙏Support

Don't forget to leave a star ⭐️

Thank You to Our Contributors❤️

See Contributors