Una aplicación para gestionar un blog de una comunidad de usuarios.
La aplicación tiene las siguientes características:
- Es instalable en PC y móvil, es decir es una aplicación web progresiva (PWA)
- Permite el registro de múltiples usuarios
- Existen 2 roles de usuario: ADMIN y USER
La aplicación tiene las siguientes funcionalidades:
- En la página inicial se muestran todos los posts publicados, que son públicos para todo el mundo.
- Cualquier usuario registrado puede crear posts y modificar y eliminar los que ha creado.
- Sólo el usuario con rol ADMIN puede publicar un post de cualquier usuario. También puede despublicar.
- Los usuarios con rol USER no pueden publicar ni despublicar los post que han creado ni ningún otro.
- Una vez publicado un post, no podrá editarse ni eliminarse.
- Solo el usuario con rol ADMIN podrá despublicar un post y así permitir la modificación o eliminación de dicho post.
- Las categorías sólo pueden crearse, modificarse y eliminarse por el usuario con rol ADMIN.
Si deseas probar por ti mismo el código, sigue los siguientes pasos.
git clone https://github.com/jamj2000/nxapp-blog
cd nxapp-blog
mv .env.example .env
Y establecemos valores para las variables.
npm install
Para inicializar la BD con datos ficticios hacemos
npm run seed
npm run dev
Este proyecto hace uso de las siguientes dependencias:
Dependencias de desarrollo
- prisma
- @faker-js/faker
Dependencias de aplicación
- @prisma/client
- next-auth@beta
- @auth/prisma-adapter
- lucide-react
- bcryptjs
- cloudinary
- react-spinners
- sonner
- slugify
- @tiptap/react
- @tiptap/pm
- @tiptap/html
- @tiptap/starter-kit
- @tiptap/extension-color
- @tiptap/extension-list-item
- @tiptap/extension-text-style
- @tiptap/extension-underline
Este proyecto está basado en gran medida en uno anterior de Miguel Chacón Barranco aka miguelcb04 en Github.
También el agradecimiento a la empresa que lo acogió para la realización de la FCT.