Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 81 additions & 0 deletions docs/overview.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
| title | description |
| -------- | ----------------------------------------------------------------------------------------- |
| Overview | Introduction to the Tech Club Website, its purpose, and what the project aims to deliver. |

---

# IPS Tech Club Website

Official platform for the IPS Tech Club community.

---

## Project Overview

The Tech Club Website is a modern web platform developed to represent the technical club online. The website is designed to provide information about the club, its activities, events, team members, and technical initiatives.

It also serves as a **centralized platform** where students and contributors can interact with club updates and resources.

> The project is built using a modern full-stack web development approach using Next.js, React, and TypeScript to ensure scalability, performance, and maintainability.

The goal is to create a production-ready, contributor-friendly codebase that can grow as the club expands its digital presence.

---

## Project Requirements

---

### Functional Requirements

- Display club information and updates
- Show events and announcements
- Provide reusable UI components
- Support scalable routing system
- Support future feature expansion (authentication, dashboards, etc.)

### Non-Functional Requirements

- Clean and maintainable code structure
- High performance and fast load times
- SEO-friendly rendering
- Easy onboarding for new contributors
- Code quality enforcement
- Testing support

---

## Tech Stack

---

**1.Core Technologies**

- Next.js 16 — Full-stack React framework for building fast and SEO-friendly web applications
- React 19 — Component-based UI library
- TypeScript — Provides type safety and better developer experience

**2.Styling**

- Tailwind CSS — Utility-first CSS framework for fast UI development
- clsx — Utility for conditional class names
- tailwind-merge — Prevents Tailwind class conflicts

**3.Code Quality & Formatting**

- ESLint — Maintains code quality and enforces coding standards
- Prettier — Ensures consistent code formatting
- Husky — Runs checks before Git commits
- lint-staged — Runs linters only on staged files

**4.Testing**

- Jest — JavaScript testing framework
- ts-jest — TypeScript support for Jest

**5.Logging**

- Pino — Fast logging library
- pino-pretty — Makes logs readable in development

---
6 changes: 4 additions & 2 deletions lint-staged.config.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
export default {
'*.{js,jsx,ts,tsx,json,css,md}': 'prettier --write',
const config = {
'*.{js,ts,tsx}': ['eslint --fix', 'prettier --write'],
};

export default config;
Copy link

Copilot AI Mar 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lint-staged.config.js uses ESM export default, but package.json does not declare "type": "module". Unless lint-staged is explicitly configured to load ESM here, Node will treat this file as CommonJS and fail to parse it. Consider renaming to lint-staged.config.mjs or switching to module.exports = config.

Suggested change
export default config;
module.exports = config;

Copilot uses AI. Check for mistakes.
6 changes: 6 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,10 @@
"prepare": "husky install"
},
"dependencies": {
"bcryptjs": "^3.0.3",
"clsx": "^2.1.1",
"next": "16.1.5",
"next-auth": "^4.24.13",
Comment on lines 15 to +19
Copy link

Copilot AI Mar 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bcryptjs is added as a dependency but does not appear to be used anywhere (only a commented-out import exists). If bcrypt isn’t being used in this PR, consider removing it to avoid unused dependencies and unnecessary install size.

Copilot uses AI. Check for mistakes.
"pino": "^10.3.0",
"pino-pretty": "^13.1.3",
"react": "19.2.3",
Expand All @@ -23,16 +25,20 @@
},
"devDependencies": {
"@tailwindcss/postcss": "^4",
"@types/bcryptjs": "^3.0.0",
"@types/jest": "^30.0.0",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
"autoprefixer": "^10.4.27",
"babel-plugin-react-compiler": "1.0.0",
"eslint": "^9",
"eslint-config-next": "16.1.5",
"husky": "^9.1.7",
"jest": "^30.2.0",
"jest-environment-jsdom": "^30.2.0",
"lint-staged": "^16.2.7",
"postcss": "^8.5.8",
"prettier": "^3.8.1",
"tailwindcss": "^4",
"ts-jest": "^29.4.6",
Expand Down
Loading