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

Login

Users can login or redirect to the sign-up page. Invalid username or password entries display an error message.

Dashboard

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

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

Group

The group's home page includes a description and a sidebar for navigation. Only the owner can edit the description.

Group Media

Media

Members can upload pictures and videos. Posts can be deleted by their authors, moderators, or the group owner depending on permissions.

Tech Stack