project.html

🚀 Group Project Guidelines

// React-based web application project (25% of final grade)

Project Overview

Teams of 2–3 students will build a React-based web application focused on a tourism-related or entertainment-related problem. This project represents 25% of your final grade and serves as the capstone experience for the course.

🎯 Project Goals

  • Apply all course concepts in a comprehensive project
  • Demonstrate proficiency in React development
  • Solve a tourism-related or entertainment-related problem with web technology
  • Practice collaborative software development
  • Create a portfolio-worthy application

🔧 Core Requirements

// Your application must include all of these features

🔐 User Authentication

  • User registration and login system
  • Secure password handling
  • Session management
  • User profile management

🛡️ Protected Routes

  • Route protection based on authentication
  • Redirect unauthenticated users
  • Role-based access control (if applicable)
  • Proper navigation guards

🌐 External API Integration

  • Integration with at least one external API
  • Proper error handling for API calls
  • Loading states and user feedback
  • Data processing and display

⚙️ Technical Specifications

// Technical requirements and best practices

🛠️ Technology Stack

  • Frontend: React.js (latest version)
  • Routing: React Router
  • Styling: CSS3 or CSS-in-JS
  • State Management: React hooks or Context API
  • HTTP Client: fetch() or axios

📁 Project Structure

  • Well-organized component hierarchy
  • Separate files for components, styles, and utilities
  • Proper folder structure
  • Clear naming conventions
  • Modular and reusable components

💻 Code Quality

  • Clean, readable, and well-commented code
  • Proper error handling
  • Responsive design for mobile devices
  • Performance optimization
  • Accessibility considerations

🔧 Additional Features

  • Form validation
  • Loading indicators
  • Error messages and user feedback
  • Search and filtering capabilities
  • Data persistence (localStorage or backend)

💡 Project Ideas

// Approved project categories and examples

🧳 Tourism

  • Travel itinerary planner
  • Destination discovery and recommendations
  • Hotel and attraction booking assistant
  • Local events and points-of-interest guide
  • Trip budget and expense tracker

🎮 Entertainment

  • Local events and festival discovery app
  • City entertainment pass and ticket planner
  • Tourist nightlife guide with recommendations
  • Cultural shows and performances booking assistant
  • Entertainment itinerary builder for visitors

📋 Deliverables

// What you need to submit and when

📝 1. Proposal Submission

Due: Week 10

  • Project Idea: Detailed description of a tourism-related or entertainment-related application
  • Team Members: List of team members and roles
  • Technical Approach: Technologies and APIs you plan to use
  • Prototype/Mockup: Basic wireframes or design mockups. (You can use AI tools such as Google Stitch or Figma to help visualize your concepts)
  • Timeline: Development milestones and deadlines

🚀 2. Final Project Submission

Due: Week 15

  • GitHub Repository: Complete source code with README
  • Live Demo: Deployed application (Netlify, Vercel, etc.)
  • Documentation: Installation and usage instructions
  • Video Demo: 5-10 minute demonstration video
  • Presentation: Live demonstration in class

📊 Evaluation Criteria

// How your project will be graded

Criteria Weight Description
Functionality 50% All core requirements implemented correctly, application works as intended
Code Quality 10% Clean, well-organized, commented code following best practices
User Interface 20% Attractive, responsive design with good user experience
Innovation 10% Creative features, unique approach to solving the problem
Presentation 10% Clear demonstration, good communication of project features

👥 Team Guidelines

// Working effectively as a team

🤝 Team Formation

  • Teams of 2-3 students only
  • Self-selected teams preferred
  • Instructor will assign if needed
  • No team changes after proposal submission

📋 Role Distribution

  • Project Manager: Coordinates team activities
  • Frontend Developer: UI/UX implementation
  • Backend Developer: API integration and logic
  • Note: Roles can overlap based on team size

🔄 Collaboration Tools

  • Git/GitHub: Version control and code sharing
  • Communication: WhatsApp, Discord, or Slack
  • Planning: Trello, Notion, or GitHub Projects
  • Documentation: README files and comments

⚠️ Team Issues

  • Address conflicts early and professionally
  • Document individual contributions
  • Contact instructor for serious issues
  • All team members receive same grade unless issues reported

🛠️ Resources and Support

// Tools and resources to help you succeed

📚 Learning Resources

🚀 Deployment Platforms

💬 Support Channels

  • Office hours with instructor
  • Course discussion forum
  • Peer collaboration and help
  • Online communities (Stack Overflow, Reddit)