Welcome to the ACM website project! This document will guide you through the project requirements, structure, and how to contribute effectively.
We are developing a simple ACM website with a modern design and seamless user experience.
- Navbar: Built with Material-UI.
- Home: The landing page.
- Events: Showcase events and their details.
- Testimonials: Section for user feedback/testimonials.
- Team: Display team members.
- About Us: Information about ACM.
The website will have the following design theme:
-
Color Palette:
- Primary: Metallic Grey
-
Styling Considerations:
- Use module CSS to avoid global style conflicts.
- Ensure the website is fully responsive.
We will use the following technologies to build the website:
- React.js (v19.0): JavaScript library for building user interfaces.
- Material-UI: For pre-styled components.
- Data-aos: For smooth animations on scroll.
- Tailwind CSS: For utility-first styling.
- React Router DOM: For managing routes.
- Vanilla CSS: For additional custom styles.
The website will have the following routes:
| Route | Description |
|---|---|
/home |
Landing page |
/events |
Displays event details |
/testimonials |
Section for testimonials |
/team |
Displays team members |
/about-us |
Information about ACM |
-
No Global CSS Conflicts:
- Use module CSS for component-specific styling.
-
Responsiveness:
- The website must be mobile-friendly and responsive on all devices.
Below is the project’s file structure:
frontend/
├── index.html # Entry point for the application
├── package.json # Manages project dependencies
├── README.md # Project documentation (this file)
├── vite.config.js # Vite configuration file
├── eslint.config.js # ESLint configuration for code linting
└── src/
├── main.jsx # Main application file
├── App.jsx # Root component of the application
├── styles/
│ ├── index.css # Global CSS styles
│ ├── App.css # App-specific styles
│ ├── home.module.css # CSS module for Home component
│ ├── events.module.css # CSS module for Events component
│ ├── testimonials.module.css # CSS module for Testimonials component
│ ├── team.module.css # CSS module for Team component
│ └── navbar.module.css # CSS module for Navbar component
└── Components/
├── Home.jsx # Home page component
├── Events.jsx # Events page component
├── Testimonials.jsx # Testimonials page component
├── Team.jsx # Team page component
└── Navbar.jsx # Navigation bar component
import React from 'react';
import styles from '../styles/navbar.module.css';
const Navbar = () => {
return (
<nav className={styles.navbar}>
<ul className={styles.navList}>
<li className={styles.navItem}>Home</li>
<li className={styles.navItem}>Events</li>
<li className={styles.navItem}>Testimonials</li>
<li className={styles.navItem}>Team</li>
<li className={styles.navItem}>About Us</li>
</ul>
</nav>
);
};
export default Navbar;.navbar {
background-color: #282c34;
padding: 1rem;
}
.navList {
list-style: none;
display: flex;
gap: 1rem;
}
.navItem {
color: white;
text-decoration: none;
cursor: pointer;
}
.navItem:hover {
color: #61dafb;
}Ensure you have the following tools installed:
- Node.js (LTS version recommended)
- npm or yarn for managing dependencies
-
Clone the repository.
-
Navigate to the
frontend/directory. -
Install dependencies:
npm install
-
Start the development server:
npm run dev
Open
http://localhost:5173/in your browser to view the website.
- Follow the file structure strictly.
- Use module CSS for component-specific styles.
- Write clean and readable code.
- Commit changes with meaningful commit messages.
- Test your code for responsiveness before pushing.
If you have any questions or need clarification, feel free to reach out to the team lead. Happy coding!