This is a full-stack web application designed as an online platform for discussing movies in the style of anime. The platform includes a range of features such as user registration and authentication, role-based authorization, content management, and more.
-
User Registration & Authentication:
- Secure user registration with password hashing.
- Email verification system to validate user accounts.
- JWT-based authentication for session handling.
- Role-based access control with two roles: Regular Users and Administrators.
-
Advanced Security Measures:
- Auto-locking system after a certain number of failed login attempts.
- User ban functionality, managed by administrators.
- Password recovery system using email-based tokens.
- Admin panel for managing:
- Articles and content creation.
- User accounts (including bans and permissions).
- Comments moderation.
-
Discussions and Comments:
- Add and manage articles related to movies.
- Commenting system for discussions.
-
Chat:
- Built-in chat system for interactions among users.
- Server-side rendering of HTML pages using Pug templates.
- Fully dynamic pages with interactive elements powered by vanilla JavaScript.
- Node.js: Application runtime environment.
- Express.js: Web framework for building the server-side API and rendering pages.
- Mongoose: ODM library for MongoDB, used for managing database schemas and queries.
- Pug: Template engine used on the server for generating and delivering complete HTML pages.
- Vanilla JavaScript: Used for client-side interactivity (e.g., form validations, modals).
- MongoDB: NoSQL database for storing user data, articles, comments, and chat messages.