GithubHelp home page GithubHelp logo

guidotss / chat-gpt Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 221 KB

Home Page: https://chat-gpt-guidotss.vercel.app

JavaScript 0.75% TypeScript 98.89% CSS 0.36%
bcrypt mongodb mongoose nextjs react tailwindcss typescript

chat-gpt's Introduction

Chat-GPT clone

Este es un clon del proyecto Chat-GPT de OpenAI. El objetivo es crear un chatbot que pueda responder a preguntas de forma natural. Para ello se ha utilizado el modelo GPT-3 de OpenAI.

Instalación

Para instalar el proyecto, se debe ejecutar el siguiente comando:

npm install

# o 

yarn install

Ejecución

  1. Cambiar el nombre del archivo .template.env a .env y agregar las variables de entorno.
  2. Reemplazar el valor de la variable OPENAI_API_KEY con la API key de OpenAI.
  3. Reemplazar el valor de la variable de entorno MONGO_URL con la URL de la base de datos de MongoDB.
  4. Reemplazar el valor de la variable de entorno JWT_SECRET con una cadena de texto aleatoria.

Para ejecutar el proyecto de forma local, se deben ejecutar los siguientes comandos:

docker-compose up -d

este comando levantará un contenedor de MongoDB.

npm install

# o 

yarn install

este comando instalará las dependencias del proyecto.

npm run dev

# o

yarn dev

este comando ejecutará el proyecto en modo desarrollo.

Ejecutar en producción

Para ejecutar el proyecto en producción, se deben ejecutar los siguientes comandos:

npm run build

# o

yarn build

este comando creará la carpeta build con el código compilado del proyecto.

npm run start

# o

yarn start

este comando ejecutará el proyecto en modo producción.

Uso

Para usar el proyecto, se debe acceder a la ruta http://localhost:3000/ y se podrá ver la aplicación.

Rutas de la API

  • POST /api/auth/login - Iniciar sesión.
  • POST /api/auth/register - Registrar usuario.
  • POST /api/auth/validate-token - Validar token de acceso del usuario.
  • POST /api - Enviar mensaje al chatbot.

Servicios

UserService

Este servicio se encarga de manejar la lógica de negocio de los usuarios.

Metodos de UserService
  • hashPassword(password: string) - Encripta una contraseña y retorna una promesa con el hash de la contraseña.

  • comparePassword(password: string, hash: string) - Compara una contraseña con un hash y retorna una promesa con un booleano indicando si la contraseña es correcta.

  • register(name:string, email:string, password:string) - Registra un usuario en la base de datos y retorna una promesa con el usuario registrado o un booleano indicando si el usuario ya existe.

  • login(email:string, password:string) - Inicia sesión con un usuario y retorna una promesa con el usuario o un booleano indicando si el usuario no existe o la contraseña es incorrecta.

  • getUserById(id:string) - Retorna una promesa con un usuario o un booleano indicando si el usuario no existe.

Tecnologías

Licencia

MIT

Contribución

Las contribuciones son bienvenidas. Para contribuir, se debe crear un fork del proyecto, realizar los cambios y crear un pull request.

Autor

@Guidotss

chat-gpt's People

Contributors

guidotss avatar

Watchers

 avatar

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.