SocialSnap es una aplicación web que permite la generación dinámica de miniaturas personalizadas para compartir en redes sociales como Facebook, Twitter y LinkedIn. Esta herramienta está diseñada para proporcionar vistas previas atractivas y personalizadas de enlaces compartidos, mejorando así la apariencia y el impacto visual de tus publicaciones en redes sociales.
- Generación de Miniaturas Dinámicas: Crea miniaturas atractivas y personalizadas para tus enlaces compartidos en redes sociales.
- Integración con Redes Sociales: Optimiza tus miniaturas para Facebook, Twitter y LinkedIn.
- Interfaz Intuitiva: Una interfaz de usuario fácil de usar para cargar imágenes y generar miniaturas.
- Autenticación y Autorización: Uso de JWT para gestionar sesiones de usuario de forma segura.
- Despliegue Rápido y Eficiente: Usamos Vite para el desarrollo rápido del frontend y Express.js para la gestión eficiente del backend.
Frontend:
- React con Vite
- TypeScript para tipado estático
- React Router para la navegación
- CSS-in-JS con Styled-components o CSS Modules
- State management con Context API, Redux Toolkit, o Zustand
- Testing con Jest y React Testing Library
Backend:
- Node.js con Express.js
- TypeScript para tipado estático
- MongoDB con Mongoose o PostgreSQL con Prisma
- Autenticación con JSON Web Tokens (JWT)
- Manipulación de imágenes con Sharp o Jimp
SocialSnap/
├── client/
│ ├── public/
│ ├── src/
│ │ ├── components/
│ │ ├── contexts/
│ │ ├── hooks/
│ │ ├── pages/
│ │ ├── services/
│ │ ├── styles/
│ │ ├── utils/
│ │ ├── App.tsx
│ │ ├── main.tsx
│ ├── tests/
│ ├── vite.config.ts
│ ├── tsconfig.json
│ ├── package.json
│ └── README.md
├── server/
│ ├── src/
│ │ ├── controllers/
│ │ ├── middlewares/
│ │ ├── models/
│ │ ├── routes/
│ │ ├── utils/
│ │ ├── app.ts
│ │ ├── server.ts
│ ├── tests/
│ ├── .env
│ ├── tsconfig.json
│ ├── package.json
│ └── README.md
├── .gitignore
├── README.md
Asegúrate de tener instalados los siguientes software en tu máquina:
- Node.js (v14 o superior)
- npm (v6 o superior)
- Git
git clone https://github.com/tu-usuario/socialsnap.git
cd socialsnap
Ve al directorio del cliente e instala las dependencias:
cd client
npm install
Ejecuta el proyecto en modo desarrollo:
npm run dev
Ve al directorio del servidor e instala las dependencias:
cd ../server
npm install
Crea un archivo .env
en el directorio raíz del servidor y agrega las variables de entorno necesarias:
PORT=5000
MONGO_URI=tu_mongodb_uri
JWT_SECRET=tu_secreto_jwt
Ejecuta el servidor en modo desarrollo:
npm run dev
Abre tu navegador y ve a http://localhost:3000
para ver la aplicación en funcionamiento.
En el directorio del proyecto, puedes ejecutar los siguientes comandos:
Cliente
npm run dev
: Inicia el servidor de desarrollo.npm run build
: Construye la aplicación para producción.npm run preview
: Previsualiza la construcción de producción localmente.npm run test
: Ejecuta las pruebas.
Servidor
npm run dev
: Inicia el servidor en modo desarrollo.npm run start
: Inicia el servidor en modo producción.npm run test
: Ejecuta las pruebas.
Las contribuciones son bienvenidas. Por favor, abre un issue o envía un pull request para cualquier mejora o corrección.
Este proyecto está bajo la Licencia MIT. Consulta el archivo LICENSE
para más detalles.
Si tienes alguna pregunta o sugerencia, no dudes en contactarme a través de mi correo electrónico.