A vibrant community platform designed to foster learning, collaboration, and innovation among students and developers.
Features β’ Tech Stack β’ Getting Started β’ Deployment β’ Contributing
- Features
- Tech Stack
- Getting Started
- Environment Variables
- Database Schema
- Project Structure
- Available Scripts
- Deployment
- Contributing
- Contact
- License
- Modern UI/UX: Premium dark mode aesthetic with glassmorphism effects, smooth animations, and micro-interactions
- Secure Authentication: Complete user management powered by Supabase
- User registration and login
- Password recovery and reset
- Profile management with avatar uploads
- Role-based access control (Admin/User)
- Responsive Design: Fully optimized for mobile, tablet, and desktop devices with touch-friendly interactions
- Theme Support: Light and dark mode with seamless transitions
- Interactive hero section with animated backgrounds
- Mission and vision statements
- Key offerings showcase
- Statistics and achievements section
- Call-to-action buttons
- Browse upcoming and past events
- Event registration system
- Workshop and hackathon listings
- Event details with date, time, and location
- Dynamic event management via admin dashboard
- Curated DSA practice sheets with infinite scroll
- YouTube playlists and tutorials
- Learning materials organized by topics
- External resource links
- Student project showcase
- Project details including tech stack
- Live demo and GitHub repository links
- Deployment links
- Project thumbnails and descriptions
- Meet the Code Vimarsh Family
- Team members organized by departments:
- Core Team
- Management
- Web Development
- Design
- Marketing
- Mentors
- Team member profiles with social links
- Professional contact form with EmailJS integration
- Real-time form validation
- Contact information display
- Social media links with animations
- Location and email details
- Event management (Create, Edit, Delete)
- User management and role assignment
- Analytics and statistics
- Content moderation
- Protected routes with role-based access
- Personal information management
- Avatar upload and customization
- Bio and social links
- Password change functionality
- Account settings
- React 19.2.3 - UI library with TypeScript
- Vite 6.2.0 - Build tool and dev server
- React Router 7.11.0 - Client-side routing
- Lucide React 0.562.0 - Icon library
- Recharts 3.6.0 - Data visualization
- Supabase 2.89.0 - Backend as a Service
- PostgreSQL database
- Authentication
- Storage for file uploads
- Real-time subscriptions
- EmailJS 3.2.0 - Email service integration
- Custom CSS - Premium design system with CSS variables
- Glassmorphism - Modern UI effects
- Animations - Smooth transitions and micro-interactions
- TypeScript 5.8.2 - Type safety
- @vitejs/plugin-react - React Fast Refresh
- @types/node - Node.js type definitions
Follow these steps to set up the project locally.
Ensure you have the following installed:
- Node.js (v16 or higher)
- npm or yarn
- Git
-
Clone the repository
git clone https://github.com/Aryanbuha89/Code_Vimarsh_Web.git cd Code_Vimarsh_Web -
Install dependencies
npm install
-
Set up environment variables
Create a
.envfile in the root directory (see Environment Variables section below) -
Run the development server
npm run dev
The application will be available at
http://localhost:5173
Create a .env file in the root directory with the following variables:
# Supabase Configuration
VITE_SUPABASE_URL=your_supabase_project_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
# EmailJS Configuration (for Contact Form)
VITE_EMAILJS_SERVICE_ID=your_emailjs_service_id
VITE_EMAILJS_TEMPLATE_ID=your_emailjs_template_id
VITE_EMAILJS_PUBLIC_KEY=your_emailjs_public_key- Create a project at supabase.com
- Go to Project Settings β API
- Copy the Project URL and anon/public key
- Create an account at emailjs.com
- Create an email service
- Create an email template
- Copy the Service ID, Template ID, and Public Key
β οΈ Important: Never commit the.envfile to version control. It's already included in.gitignore.
The project uses Supabase (PostgreSQL) with the following tables:
| Table | Description | Key Fields |
|---|---|---|
profiles |
User profile information | id, user_id, full_name, avatar_url, bio, github_url, linkedin_url, portfolio_url |
events |
Events and workshops | id, title, description, date, time, location, status, registration_link, image_url |
projects |
Student projects showcase | id, title, description, tech_stack, github_url, live_url, thumbnail_url, created_by |
team_members |
Team directory | id, name, role, department, photo_url, github_url, linkedin_url, order |
resources |
Learning resources | id, title, description, type, url, category |
roles |
User role management | user_id, role (admin/user) |
core- Core team membersmanagement- Management teamweb- Web development teamdesign- Design teammarketing- Marketing teammentor- Mentors and advisors
The repository includes several SQL scripts for database setup:
supabase_schema.sql- Main schema setupcreate_dynamic_tables.sql- Dynamic table creationsetup_registrations.sql- Event registration setupenable_admin_permissions.sql- Admin role setupfix_storage.sql- Storage bucket configuration
π‘ Tip: Refer to
types.tsfor TypeScript interfaces matching the database schema.
Code_Vimarsh_Web/
βββ Logo/ # Brand assets
βββ components/ # Reusable components
β βββ AuthLayout.tsx # Authentication layout wrapper
β βββ ui/ # UI components
βββ context/ # React context providers
β βββ AuthContext.tsx # Authentication context
β βββ ThemeContext.tsx # Theme management
βββ hooks/ # Custom React hooks
βββ lib/ # Utility libraries
β βββ supabase.ts # Supabase client configuration
βββ pages/ # Page components
β βββ Admin/ # Admin dashboard
β β βββ Dashboard.tsx
β βββ Contact.tsx # Contact page with EmailJS
β βββ Events.tsx # Events listing
β βββ ForgotPassword.tsx # Password recovery
β βββ Home.tsx # Landing page
β βββ Login.tsx # Login page
β βββ Profile.tsx # User profile
β βββ Projects.tsx # Projects showcase
β βββ Resources.tsx # Learning resources
β βββ Signup.tsx # Registration page
β βββ Team.tsx # Team directory
β βββ UpdatePassword.tsx # Password reset
βββ thumbnails/ # Project thumbnails
βββ App.tsx # Main app component with routing
βββ index.tsx # App entry point
βββ types.ts # TypeScript type definitions
βββ vite.config.ts # Vite configuration
βββ tsconfig.json # TypeScript configuration
βββ package.json # Dependencies and scripts
βββ README.md # This file
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run previewThis project is deployment-ready for platforms like Vercel, Netlify, or GitHub Pages.
npm run buildThis generates a dist folder with optimized static assets.
- Push your code to GitHub
- Import the repository in Vercel
- Add environment variables in project settings
- Deploy!
- Push your code to GitHub
- Create a new site in Netlify
- Configure build settings:
- Build command:
npm run build - Publish directory:
dist
- Build command:
- Add environment variables
- Deploy!
npm run build
# Deploy the dist folder to gh-pages branch
β οΈ Note: Remember to add all environment variables to your deployment platform.
We welcome contributions from the community! Here's how you can help:
-
Fork the repository
git clone https://github.com/YOUR_USERNAME/Code_Vimarsh_Web.git
-
Create a feature branch
git checkout -b feature/AmazingFeature
-
Make your changes
- Write clean, readable code
- Follow the existing code style
- Add comments where necessary
- Test your changes thoroughly
-
Commit your changes
git commit -m 'Add some AmazingFeature' -
Push to your branch
git push origin feature/AmazingFeature
-
Open a Pull Request
- Provide a clear description of the changes
- Reference any related issues
- Wait for review and feedback
- Follow the existing code structure and naming conventions
- Ensure your code is properly typed (TypeScript)
- Test your changes on multiple screen sizes
- Update documentation if needed
- Be respectful and constructive in discussions
- Email: codingclub-cse@msubaroda.ac.in
- Location: CSE Department, Vadodara, Gujarat, India
- GitHub: @code-vimarsh
- LinkedIn: Code Vimarsh
Have questions, suggestions, or want to collaborate? Feel free to:
- Open an issue
- Submit a pull request
- Reach out via email
This project is maintained by the Code Vimarsh team. All rights reserved.
