Skip to content

๐ŸŽ–๏ธ Army-themed web application built for Web Worriers - PU Projections 2026 Event organised by Parul University, Vadodara, Gujarat, India. Features user authentication, profile customization, theme switching, and accessibility controls. Built with HTML, CSS, JavaScript & localStorage backend. along with Netlify's NeonDB connected as a database

Notifications You must be signed in to change notification settings

Devanshuhc29/Army-Portal-2026

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ–๏ธ Indian Army Portal

Indian Army Logo

A modern, responsive web application built for the Web Worriers hackathon

Service Before Self | เคธเฅ‡เคตเคพ เคชเคฐเคฎเฅ‹ เคงเคฐเฅเคฎเคƒ

Made with HTML Styled with CSS JavaScript


๐Ÿ“‹ Table of Contents


๐ŸŽฏ About

The Indian Army Portal is a fully functional frontend web application designed with a military/army theme. Built for the Web Worriers hackathon, this project showcases modern UI/UX design principles, responsive layouts, and interactive features without requiring a backend.

๐ŸŽช Event Details

  • Event: Web Worriers
  • Date: February 12, 2026
  • Mode: Online
  • Theme: Army/Military

โœจ Features

๐Ÿ” Authentication System

  • Sign Up - Complete user registration with validation
  • Sign In/Login - Secure login with username/email support
  • Session Management - Persistent login state using localStorage
  • Profile Protection - Restricted access to profile pages

๐Ÿ‘ค User Profile Section

  • Profile Card - Display with image, name, role, and bio
  • Editable Bio - Character-limited bio editor (200 chars)
  • Profile Image - Customizable profile picture via URL
  • Role Display - User role badge (Officer, Soldier, Cadet, etc.)

๐ŸŽจ Customization Features

  • Profile Theme Selector - 4 army-themed color schemes:
    • Army Green (Default)
    • Camouflage
    • Tactical Black
    • Desert Sand
  • Social Link Manager - Customizable links for:
    • LinkedIn
    • Instagram
    • Facebook
    • X (Twitter)

๐ŸŒ“ Smart UI Features

  • Theme Switcher - Light/Dark mode toggle
  • Welcome Messages - Personalized greetings on sign-in
  • Responsive Navigation - Mobile-friendly hamburger menu
  • Form Validation - Real-time error handling

๐Ÿ“„ Mandatory Pages

  • โœ… Home - Hero section, features, statistics
  • โœ… Sign In/Login - Authentication page
  • โœ… Sign Up - User registration
  • โœ… About - Indian Army history and mission
  • โœ… Contact Us - Contact form with localStorage
  • โœ… Profile - User dashboard with customization

๐ŸŽ–๏ธ Army Theme Elements

  • Military green color palette with gold accents
  • Indian Army official logo integration
  • Tactical patterns and military typography
  • Army-inspired UI components
  • Patriotic color schemes

๐Ÿ“ฑ Responsive Design

  • Mobile-first approach
  • Tablet-optimized layouts
  • Desktop-enhanced experience
  • Cross-browser compatibility

๐Ÿ› ๏ธ Tech Stack

Technology Purpose
HTML5 Structure and semantic markup
CSS3 Styling, animations, and responsive design
JavaScript (ES6+) Interactivity and data management
localStorage Client-side data persistence
Google Fonts Custom typography (Rajdhani, Teko)

Design Principles

  • Clean, modern UI/UX
  • Consistent color schemes
  • Proper spacing and typography
  • Accessible design patterns
  • Smooth transitions and animations

๐Ÿ“ฆ Installation

Prerequisites

  • A modern web browser (Chrome, Firefox, Safari, Edge)
  • A text editor (VS Code, Sublime Text, etc.)
  • Basic knowledge of HTML/CSS/JavaScript

Steps

  1. Download the Project

    # Clone or download all project files
    git clone https://github.com/Devanshuhc29/indian-army-portal.git
    cd indian-army-portal
  2. Verify File Structure Ensure all files are present:

    โ”œโ”€โ”€ index.html
    โ”œโ”€โ”€ signup.html
    โ”œโ”€โ”€ signin.html
    โ”œโ”€โ”€ profile.html
    โ”œโ”€โ”€ about.html
    โ”œโ”€โ”€ contact.html
    โ”œโ”€โ”€ styles.css
    โ”œโ”€โ”€ script.js
    โ”œโ”€โ”€ auth.js
    โ”œโ”€โ”€ profile.js
    โ”œโ”€โ”€ contact.js
    โ””โ”€โ”€ README.md
    
  3. Open in Browser

    • Double-click index.html to open in your default browser
    • Or use a local server:
      # Python 3
      python -m http.server 8000
      
      # Or use VS Code Live Server extension
  4. Access the Application

    • Navigate to http://localhost:8000 (if using local server)
    • Or simply open the HTML file directly

๐Ÿ“ File Structure

indian-army-portal/
โ”‚
โ”œโ”€โ”€ ๐Ÿ“„ index.html              # Home page with hero section
โ”œโ”€โ”€ ๐Ÿ“„ signup.html             # User registration page
โ”œโ”€โ”€ ๐Ÿ“„ signin.html             # User login page
โ”œโ”€โ”€ ๐Ÿ“„ profile.html            # User profile dashboard
โ”œโ”€โ”€ ๐Ÿ“„ about.html              # About Indian Army
โ”œโ”€โ”€ ๐Ÿ“„ contact.html            # Contact form page
โ”‚
โ”œโ”€โ”€ ๐ŸŽจ styles.css              # Complete styling (Army theme)
โ”‚
โ”œโ”€โ”€ ๐Ÿ“œ script.js               # Main JavaScript
โ”‚   โ”œโ”€โ”€ Mobile navigation
โ”‚   โ”œโ”€โ”€ Theme switcher
โ”‚   โ”œโ”€โ”€ Auth status check
โ”‚   โ””โ”€โ”€ Page protection
โ”‚
โ”œโ”€โ”€ ๐Ÿ“œ auth.js                 # Authentication logic
โ”‚   โ”œโ”€โ”€ Sign up handler
โ”‚   โ”œโ”€โ”€ Sign in handler
โ”‚   โ”œโ”€โ”€ Form validation
โ”‚   โ””โ”€โ”€ User data management
โ”‚
โ”œโ”€โ”€ ๐Ÿ“œ profile.js              # Profile management
โ”‚   โ”œโ”€โ”€ Profile data loader
โ”‚   โ”œโ”€โ”€ Bio editor
โ”‚   โ”œโ”€โ”€ Theme selector
โ”‚   โ”œโ”€โ”€ Social link manager
โ”‚   โ””โ”€โ”€ Image uploader
โ”‚
โ”œโ”€โ”€ ๐Ÿ“œ contact.js              # Contact form handler
โ”‚   โ”œโ”€โ”€ Form submission
โ”‚   โ””โ”€โ”€ Message storage
โ”‚
โ””โ”€โ”€ ๐Ÿ“– README.md               # Project documentation

๐Ÿ“– Usage Guide

1๏ธโƒฃ Creating an Account

  1. Navigate to the Sign Up page
  2. Fill in all required fields:
    • Full Name
    • Email Address
    • Username (unique)
    • Role (Officer, Soldier, Cadet, etc.)
    • Password (min 6 characters)
    • Confirm Password
  3. Click SIGN UP
  4. You'll be automatically logged in and redirected to your profile

2๏ธโƒฃ Signing In

  1. Go to the Sign In page
  2. Enter your username or email
  3. Enter your password
  4. Click SIGN IN
  5. You'll see a welcome message and be redirected to your profile

3๏ธโƒฃ Customizing Your Profile

Edit Bio

  • Navigate to your profile
  • Scroll to "Edit Bio" section
  • Type your bio (max 200 characters)
  • Click SAVE BIO

Change Profile Theme

  • Choose from 4 army-themed color schemes
  • Click on any theme preview
  • Your profile header will update instantly

Update Social Links

  • Add URLs for LinkedIn, Instagram, Facebook, Twitter
  • Click SAVE SOCIAL LINKS
  • Links will appear in your profile card

Change Profile Image

  • Enter an image URL in the "Change Profile Image" section
  • Click UPDATE IMAGE
  • Or click the camera icon on your profile picture

4๏ธโƒฃ Contacting Support

  1. Visit the Contact Us page
  2. Fill in your details and message
  3. Click SEND MESSAGE
  4. Your message will be stored locally

5๏ธโƒฃ Switching Themes

  • Click the theme button in the navigation (๐ŸŒ™ DARK / โ˜€๏ธ LIGHT)
  • Your preference is saved automatically

โœ… Competition Requirements

Mandatory Requirements

Requirement Status
Working frontend application โœ… Complete
Sign up functionality โœ… Complete
Sign in/Login โœ… Complete
Profile related interactions โœ… Complete
UI based features โœ… Complete
Backend implementation (not required) โŒ Not implemented
Real application behavior โœ… Complete

Main Theme

Element Status
Army theme throughout UI โœ… Complete
Military colors โœ… Complete
Army-relevant content โœ… Complete
Tactical layout design โœ… Complete

Mandatory Website Sections

  • โœ… Home
  • โœ… Sign In / Login
  • โœ… About
  • โœ… Contact Us

User Profile Section

  • โœ… Profile card with image
  • โœ… Name and role display
  • โœ… Short bio
  • โœ… Social links (LinkedIn, Instagram, Facebook, Twitter)

UI/UX Requirements

  • โœ… Clean layout
  • โœ… Responsive design
  • โœ… Consistent colors
  • โœ… Proper spacing
  • โœ… Readable typography

Profile Customization

  • โœ… Editable bio
  • โœ… Profile theme selector
  • โœ… Social link manager

Smart UI Feature

  • โœ… Theme switcher (Light/Dark mode)
  • โœ… Welcome message based on username

Technology Rules

  • โœ… Frontend technology (HTML/CSS/JS)
  • โœ… Ready for hosting
  • โœ… Publicly accessible (no localhost dependency)

๐Ÿš€ Deployment

Option 1: Netlify (Recommended)

  1. Via Drag & Drop

    • Go to netlify.com
    • Sign up or log in
    • Drag your project folder to the deployment area
    • Your site will be live in seconds!
  2. Via Git

    # Initialize git repository
    git init
    git add .
    git commit -m "Initial commit"
    
    # Push to GitHub
    git remote add origin <https://github.com/Devanshuhc29/Army-Portal-2026>
    git push -u origin main
    
    # Connect to Netlify
    # Go to Netlify Dashboard > New site from Git
    # Select your repository
    # Deploy!

Option 2: Vercel

# Install Vercel CLI
npm install -g vercel

# Deploy
vercel

Option 3: GitHub Pages

  1. Push code to GitHub repository
  2. Go to repository Settings > Pages
  3. Select branch (main) and folder (root)https://github.com/Devanshuhc29/Army-Portal-2026
  4. Click Save
  5. Your site will be live at https://github.com/Devanshuhc29/Army-Portal-2026

Option 4: Manual Hosting

Upload all files to any web hosting service:

  • Upload via FTP/SFTP
  • Ensure all files are in the root directory
  • Access via your domain

๐Ÿ” Data Storage

All user data is stored in browser localStorage:

Stored Data

  • User credentials (username, email, password)
  • Profile information (name, role, bio)
  • Profile customization (theme, image URL)
  • Social media links
  • Contact form messages

Data Structure

// Users Array
[
  {
    fullName: "John Doe",
    email: "john@example.com",
    username: "johndoe",
    role: "Officer",
    password: "hashed_password",
    bio: "Serving the nation...",
    profileTheme: "default",
    profileImage: "https://...",
    socialLinks: {
      linkedin: "https://...",
      instagram: "https://...",
      facebook: "https://...",
      twitter: "https://..."
    },
    createdAt: "2026-02-12T..."
  }
]

// Current User
"currentUser": "johndoe"

// Contact Messages
[
  {
    name: "User Name",
    email: "user@example.com",
    subject: "Query",
    message: "Message content...",
    timestamp: "2026-02-12T..."
  }
]

๐ŸŽจ Color Palette

Primary Colors

--army-green: #4a5d23
--army-dark: #2d3a1a
--army-light: #6b7f3a
--accent-gold: #d4af37

Theme Variations

/* Default - Army Green */
--primary: #4a5d23

/* Camouflage */
--primary: #6b5d4f

/* Tactical Black */
--primary: #1a1a1a

/* Desert Sand */
--primary: #c19a6b

๐Ÿ”ง Browser Support

Browser Version Status
Chrome 90+ โœ… Fully Supported
Firefox 88+ โœ… Fully Supported
Safari 14+ โœ… Fully Supported
Edge 90+ โœ… Fully Supported
Opera 76+ โœ… Fully Supported

๐Ÿ› Known Issues

  • โš ๏ธ Data persists only in localStorage (cleared on cache clear)
  • โš ๏ธ No real authentication (frontend only)
  • โš ๏ธ Profile images must be valid URLs
  • โš ๏ธ No password recovery mechanism

Future Enhancements

  • Backend integration with Node.js/Express
  • Database storage (MongoDB/PostgreSQL)
  • Real authentication with JWT
  • File upload for profile images
  • Email notifications
  • Password encryption (bcrypt)
  • Admin dashboard

๐Ÿ“š Documentation

Key Functions

auth.js

  • signupForm.submit() - Handles user registration
  • signinForm.submit() - Handles user login

profile.js

  • getCurrentUser() - Retrieves current logged-in user
  • updateUser() - Updates user data in localStorage
  • loadProfile() - Loads profile data on page load
  • updateSocialLinks() - Updates social media links

script.js

  • checkAuth() - Checks authentication status
  • protectPage() - Restricts access to protected pages

๐Ÿค Contributing

Contributions are welcome! If you'd like to improve this project:

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

๐Ÿ“ License

This project is created for educational purposes as part of the Web Worriers hackathon.

Disclaimer: This is a demonstration project and not affiliated with the official Indian Army.


๐Ÿ‘จโ€๐Ÿ’ป Author

Devanshu Hemant Chheda


๐Ÿ™ Acknowledgments

  • Indian Army - For the inspiration and logo
  • Web Worriers Team - For organizing the competition
  • Google Fonts - For Rajdhani and Teko fonts

๐Ÿ“ž Support

If you encounter any issues or have questions:

  1. Check the Known Issues section
  2. Review the Usage Guide
  3. Open an issue on GitHub
  4. Contact via the Contact Us page in the application

โญ If you found this project helpful, please give it a star! โญ

Made with โค๏ธ for Web Worriers 2026

เคธเฅ‡เคตเคพ เคชเคฐเคฎเฅ‹ เคงเคฐเฅเคฎเคƒ

About

๐ŸŽ–๏ธ Army-themed web application built for Web Worriers - PU Projections 2026 Event organised by Parul University, Vadodara, Gujarat, India. Features user authentication, profile customization, theme switching, and accessibility controls. Built with HTML, CSS, JavaScript & localStorage backend. along with Netlify's NeonDB connected as a database

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published