Welcome to my Content Management System!
This project is built with Next.js, React, JavaScript, Tailwind CSS, and a MySQL database hosted through JawsDB. It is deployed with Heroku. JWT is used for session cookie encryption, and bcrypt is used for secure password hashing.
Introduction
This Content Management System allows users to create and manage groups, share posts and media, and interact with other users. It includes user authentication, profile management, and group functionalities.
Features
User authentication with JWT and bcrypt
Profile management
Group creation and management
Media sharing within groups
Role-based access control
Login
Users can login or redirect to the sign-up page. Invalid username or password entries display an error message.
Dashboard
The dashboard is the hub of all operations for the CMS. It displays the user's groups, profile, account settings, and logout options.
Profile
Each user's profile contains a description and a list of groups they are a member of. Owners can edit their descriptions directly.
Group
The group's home page includes a description and a sidebar for navigation. Only the owner can edit the description.
Group Media
Members can upload pictures and videos. Posts can be deleted by their authors, moderators, or the group owner depending on permissions.
Tech Stack
Programming Languages
JavaScript
HTML
CSS
Libraries and Frameworks
Next.js
React
Tailwind CSS
Databases
MySQL
JawsDB
Tools and Technologies
Heroku
Git
VS Code
bcrypt
JWT