Code Monkey home page Code Monkey logo

tushar98644 / projecthub Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 10.0 25.19 MB

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

Home Page: https://www.project-hub.live

License: MIT License

JavaScript 0.75% TypeScript 97.31% CSS 1.61% Shell 0.07% Dockerfile 0.25%
ai-tools nextjs tailwindcss storybook chatgpt-bot docker jest vercel prettier-eslint ngnix husky hacktoberfest prometheus grafana loki jenkins sonarqube lint-staged typescipt

projecthub's Introduction

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

projecthub's People

Contributors

dependabot[bot] avatar dhaneshragu avatar dhruv127 avatar himanshutembhe avatar petsamuel avatar tushar98644 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

projecthub's Issues

[BUG] : Make the Admin page responsive

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

Currently the ui for this page breaks for mobile devices

Expected Behavior

Fix the ui so that it works appropriately for all devices

Steps To Reproduce

No response

Version

1.0.3 (Edge)

What browsers are you seeing the problem on?

No response

Environment

- OS: 
- Node:
- npm:

Anything else?

No response

Feature request : Add Unit test cases with jest

Describe the solution you'd like

We would like to request the addition of unit test cases using Jest. With Jest already configured, here are the likely tasks that the unit tests would perform:

  • Test for Functionality
  • Verify Edge Cases
  • Check Error Handling
  • Assess Data Validation
  • Evaluate Code Paths

Feature request : Create Powerpoint presentation for the project

Is your feature request related to a problem? Please describe.
Create a ppt showcasing the use-case and features of the project and add the link to the readme

Describe the solution you'd like

Describe alternatives you've considered
None

Additional context
None

[BUG] <title> Action Button dropdown on admin page is not working

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

No response

Expected Behavior

No response

Steps To Reproduce

No response

Version

None

What browsers are you seeing the problem on?

No response

Environment

- OS:
- Node:
- npm:

Anything else?

No response

Feature request : Create User Stories for All Components

Describe the solution you'd like

This issue is dedicated to the task of generating user stories for every component in our project. These user stories will help us:

  • Define clear objectives and requirements for each component.
  • Maintain a comprehensive record of component functionalities.
  • Facilitate future development and testing efforts.

Docker : Production server with ngnix

At present, there isn't an index.html file produced in the Next.js build, which NGINX typically relies on for serving the build. To address this, explore alternative methods to enable the NGINX server to run the application within a Docker environment.

[BUG] : Protect Admin route

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

The admin route is accessible to users who do not have admin access

Expected Behavior

The admin route should be available to only users with admin privileges , correct this behaviour

Steps To Reproduce

No response

Version

1.0.3 (Edge)

What browsers are you seeing the problem on?

No response

Environment

- OS:
- Node:
- npm:

Anything else?

No response

Feature request : Workflow for greeting new contributors with welcome memes

Proposed Solution:

  • Recognition of First Contribution: Identify and celebrate the first contribution made by a new contributor to the project.

  • Selection of Welcome Meme: Randomly select a welcome meme from a collection of friendly and inclusive images that align with our project's culture.

  • Automated Comment: Automatically post the selected welcome meme as a comment on the new contributor's pull request or issue.

  • Friendly Message: Accompany the meme with a friendly and welcoming message, expressing gratitude for their contribution and inviting them to further engage with the community.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.