Skip to content

kamleshthink/acebits

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

26 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—οΈ ACE BITS - Association of Civil Engineers

React TypeScript Tailwind CSS Framer Motion

Building the future through innovation, collaboration, and excellence in civil engineering at BIT Sindri, Dhanbad

🎯 About ACE BITS

The Association of Civil Engineers (ACE) at BIT Sindri is a premier student organization dedicated to fostering excellence in civil engineering education and innovation. Established in 2017, we bring together students, faculty, and industry professionals to create a vibrant learning community.

🌟 Our Mission

  • Foster Innovation: Promote creative thinking and innovative solutions in civil engineering
  • Build Community: Connect junior, senior, and alumni students on a unified platform
  • Enhance Skills: Provide hands-on learning experiences through workshops and events
  • Industry Connect: Bridge the gap between academia and industry

πŸ“Š Key Statistics

  • 400+ General Members
  • 60+ Core Members
  • 50+ Events Organized
  • 5+ Years of Excellence

πŸš€ Features

✨ Modern UI/UX

  • Responsive Design: Optimized for all devices
  • Smooth Animations: Powered by Framer Motion
  • Modern Typography: Inter & Poppins fonts
  • Glass Morphism: Beautiful visual effects

🎨 Design System

  • Tailwind CSS: Utility-first CSS framework
  • Custom Color Palette: Professional blue and gold theme
  • Component Library: Reusable UI components
  • Dark Mode Ready: Accessibility features

πŸ”§ Technical Features

  • TypeScript Support: Type-safe development
  • SEO Optimized: React Helmet integration
  • Performance Optimized: Code splitting and lazy loading
  • PWA Ready: Progressive Web App features

πŸ› οΈ Tech Stack

Frontend

  • React 17.0.2 - UI Library
  • TypeScript 4.9.4 - Type Safety
  • Tailwind CSS 3.4.3 - Styling
  • Framer Motion 12.23.12 - Animations
  • Lucide React - Icons
  • React Router - Navigation

Backend

  • Express.js - Backend Framework
  • MongoDB - Database
  • Mongoose - ODM for MongoDB
  • CORS - Cross-Origin Resource Sharing
  • dotenv - Environment Variables

Services

  • Firebase - Authentication
  • Formspree - Contact Forms (Alternative)
  • React Helmet Async - SEO Management

Development Tools

  • Create React App - Build Tool
  • ESLint - Code Quality
  • Prettier - Code Formatting

πŸ“¦ Installation & Setup

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn package manager

Quick Start

  1. Clone the repository

    git clone https://github.com/ACEBITSINDRI/ACEBITS.git
    cd acebit-main
  2. Install Frontend dependencies

    cd frontend
    npm install
  3. Install Backend dependencies

    cd ../backend
    npm install
  4. Setup environment variables

    # In backend directory, create .env file
    cp .env.example .env
    # Edit .env and add your MongoDB URI
  5. Start Backend server

    cd backend
    npm start
    # Backend runs on http://localhost:5000
  6. Start Frontend development server (in new terminal)

    cd frontend
    npm start
    # Frontend runs on http://localhost:3000

Build for Production

Frontend:

cd frontend
npm run build

Backend:

cd backend
npm start

Available Scripts

Frontend:

Script Description
npm start Starts development server
npm run build Creates production build
npm test Runs test suite

Backend:

Script Description
npm start Starts production server
npm run dev Starts development server with nodemon

πŸ“ Project Structure

acebit-main/
β”œβ”€β”€ frontend/              # Frontend React Application
β”‚   β”œβ”€β”€ public/           # Static assets
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/   # Reusable components
β”‚   β”‚   β”‚   β”œβ”€β”€ nav/     # Navigation components
β”‚   β”‚   β”‚   β”œβ”€β”€ Footer/  # Footer component
β”‚   β”‚   β”‚   └── homepageSections/ # Homepage sections
β”‚   β”‚   β”œβ”€β”€ views/       # Page components
β”‚   β”‚   β”œβ”€β”€ routes/      # Routing configuration
β”‚   β”‚   β”œβ”€β”€ api/         # API services
β”‚   β”‚   β”œβ”€β”€ assets/      # Images, videos, etc.
β”‚   β”‚   β”œβ”€β”€ reducers/    # Redux reducers
β”‚   β”‚   β”œβ”€β”€ App.js       # Main app component
β”‚   β”‚   β”œβ”€β”€ index.js     # Entry point
β”‚   β”‚   └── index.css    # Global styles
β”‚   β”œβ”€β”€ tailwind.config.js  # Tailwind configuration
β”‚   β”œβ”€β”€ tsconfig.json       # TypeScript configuration
β”‚   └── package.json        # Frontend dependencies
β”‚
β”œβ”€β”€ backend/               # Backend Express Application
β”‚   β”œβ”€β”€ config/           # Database configuration
β”‚   β”œβ”€β”€ controllers/      # Route controllers
β”‚   β”œβ”€β”€ models/           # MongoDB models
β”‚   β”œβ”€β”€ routes/           # API routes
β”‚   β”œβ”€β”€ server.js         # Express server
β”‚   β”œβ”€β”€ package.json      # Backend dependencies
β”‚   └── .env.example      # Environment variables template
β”‚
β”œβ”€β”€ render.yaml           # Render deployment config
β”œβ”€β”€ .gitignore           # Git ignore rules
└── README.md            # Project documentation

🎨 Design System

Color Palette

  • Primary: Blue (#3B82F6 to #1E3A8A)
  • Accent: Gold (#EAB308 to #713F12)
  • Neutral: Gray scale (#F8FAFC to #0F172A)

Typography

  • Headings: Poppins (Bold, Semi-bold)
  • Body: Inter (Regular, Medium)

Spacing

  • Section Padding: 4rem (64px) to 6rem (96px)
  • Component Spacing: 1rem (16px) to 2rem (32px)

πŸ”§ Configuration

Tailwind CSS

The project uses a custom Tailwind configuration with:

  • Custom color palette
  • Custom animations
  • Responsive breakpoints
  • Component utilities

TypeScript

TypeScript is configured with:

  • Strict mode enabled
  • Path mapping for imports
  • React JSX support

πŸ“± Responsive Design

The website is fully responsive with breakpoints:

  • Mobile: < 768px
  • Tablet: 768px - 1024px
  • Desktop: > 1024px

πŸš€ Performance Optimizations

  • Code Splitting: Lazy loading of components
  • Image Optimization: WebP format support
  • Bundle Optimization: Tree shaking and minification
  • Caching: Browser caching strategies

πŸ”’ Security Features

  • HTTPS Only: Secure connections
  • Content Security Policy: XSS protection
  • Input Validation: Form validation
  • Firebase Security: Authentication & authorization

πŸ“ˆ SEO Features

  • Meta Tags: Dynamic meta tags for each page
  • Structured Data: JSON-LD markup
  • Sitemap: XML sitemap generation
  • Open Graph: Social media optimization

🀝 Contributing

We welcome contributions from the community! Please read our contributing guidelines:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow TypeScript best practices
  • Use Tailwind CSS for styling
  • Add animations with Framer Motion
  • Write meaningful commit messages
  • Test your changes thoroughly

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘₯ Team

Current Team (2024)

  • President: Prince Michael
  • Faculty Incharge: Prashant Malviya
  • Web Development: ACE Development Team

Contact Information

🌐 Social Media

πŸ™ Acknowledgments

  • BIT Sindri Administration for continuous support
  • Faculty Members for guidance and mentorship
  • Student Community for active participation
  • Alumni Network for industry connections

Made with ❀️ by the ACE Team

Building the future, one engineer at a time

About

website link

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages