Nekomon es una red social completamente gratuita y sencilla de utilizar, creada desde cero utilizando Python.
Puedes encontrar la web en https://www.nekomon.es.
- Framework para backend: Django
- Framework JS para frontend: jQuery
- IDE: PyCharm/Visual Studio Code
- VPS desplagado en: Contabo
- Servidor web: NGINX
- Servidor proxy para los WebSockets: Daphne
- Servidor de bases de datos: MySQL
- Gestor de bases de datos: HeidiSQL
- Servidor de correo: Postfix
- Dominio registrado en: GoDaddy
- Autoridad de Certificación: Let’s Encrypt
- Web donde se almacenan las imágenes: Imgur
Nekomon.es además viene incorporado con un Bot de Discord completamente funcional, el cual recibe datos de entidades desde una API REST y los muestra al usuario.
El Bot puede mostrar los datos de un usuario o de un post. Para cada uno de ellos, se debe de escribir en un canal de texto el enlace del usuario o post. Ejemplo:
https://www.nekomon.es/Godofredo
https://www.nekomon.es/posts/1
Puedes añadir el Bot a tu servidor haciendo click en este enlace.
La memoria del proyecto está disponible en este enlace.
- Clonar el repositorio con
git clone https://github.com/ShinMugenNoKabe/Nekomon.git
- Instalar Python y el gestor de paquetes PIP
- Crear un entorno virtual con
virtualenv nekomon
- Instalar todos los paquetes necesarios con
pip install -r requirements.txt
- Modificar las credenciales de MySQL en la carpeta de config.
- Crear un fichero .env con las variables:
- SECRET_KEY - Clave secreta única de Django.
- EMAIL_HOST_USER - E-mail usado para enviar correos.
- EMAIL_HOST_PASSWORD - Contraseña de aplicación del e-mail.
- DEFAULT_FROM_EMAIL - Nombre que aparece en los correos.
- IMGUR_CLIENT_ID - ID de cliente de Imgur.
- IMGUR_API_KEY - Clave de API de Imgur.
- DISCORD_TOKEN - Token del Bot de Discord.
- Crear una nueva base de datos con el nombre elegido, por defecto
nekomon
- Aplicar las migraciones con
python manage.py migrate
- Para los WebSockets: instalar Docker.
- Ejecutar Redis con
docker run -p 6379:6379 -d redis:5
- Ejecutar el servidor con
python manage.py runserver