Skip to content
SaifAlotaibie edited this page Feb 1, 2025 · 8 revisions

Welcome to the Student-Club-Management-System wiki !

# Overview

The Student Club Management System is a web-based platform that allows students and club administrators to manage events, memberships, and communications efficiently. It centralizes all club-related activities, making it easier for students to stay updated and participate in university events.

# Key Features:

  • Club registration and management.
  • Event creation and tracking.
  • Member management and user authentication.
  • Role-based access for admins and students.

# Setup Instructions

Prerequisites Make sure you have the following installed: Node.js (v16 or later) MongoDB Git

# Technology | Purpose

-- | -- Node.js | Backend development Express.js | Web framework for Node.js MongoDB | Database for storing users, clubs, and events Mongoose | ODM for MongoDB EJS | Templating engine for rendering dynamic pages Bootstrap | Frontend styling Passport.js | User authentication via Google & GitHub Git & GitHub | Version control & team collaboration

# POST Requests in profile.js Protected Routes (Require Authentication) These routes ensure that only logged-in users can access or modify their profile information.

Method Route Description
GET /update-profile Displays the form for updating the user's profile.
POST /update-profile Processes the profile update after validation.
GET /profile Shows the logged-in user's profile details.
GET /delete-account Renders the account deletion confirmation page.
POST /delete-account Permanently deletes the user's account.

# Key Takeaways

  • All routes require authentication (isAuthenticated).
  • Profile updates go through validation (validateProfileInput).
  • Users can update, view, and delete their accounts securely.
  • Follows MVC structure by delegating logic to profileController.

Clone this wiki locally