Unipost is a simple web application that allows users to create, view, and delete posts after authentication.
🔗 Live demo: https://unipost.valdi.sarl
(Login: admin | Password: admin)
- Backend: Node.js, Express
- Frontend: Vanilla HTML & CSS (basic responsive design)
- Database: MongoDB Atlas
- Templating: EJS
- Testing: Jest
- CI/CD: GitHub Actions
- Containerization & Hosting: Docker, Docker Hub, Traefik, Let's Encrypt
- User authentication (
/auth) - Post management (
/posts)- View all posts in descending order
- Create and delete posts
- Posts are fetched from MongoDB on page load
- Basic responsive design for desktop and mobile
Deployment is fully automated via GitHub Actions:
- A Docker image is built and pushed to Docker Hub.
- The server pulls the latest image and restarts the app using Docker Compose.
- Traefik is used as the reverse proxy and automatically issues SSL certificates via Let's Encrypt.