Skip to content

capstone-project-NevilPatel01 created by GitHub Classroom

Notifications You must be signed in to change notification settings

NevilPatel01/CityPulse

Repository files navigation

CityPulse - Travel Social Network Platform

Notes to remember

  • As database schema is huge, try to add table as you need not all at once (Suggestion: Prof. Karen)

🌍 Project Tasks

Milestone 1:

Week 1 (Sept 8)

  • Setup Project Repo
  • configure development environment
  • Set up Git repository with initial commit
  • Setup PostgreSQL database connection
  • Create basic project structure (routes, controllers, models folders)
  • Implement basic user authentication (JWT, bcrypt, sessions, Google OAuth2)
  • complete frontend with auth forms (login/reset/signup)
  • Mobile-first responsive design setup with TailwindCSS
  • complete backend with auth api
  • complete unit tests for auth module using Jest
  • Basic user registration API endpoint with email validation
  • Begin accessibility tags (ARIA, alt text)

Week 2 (Sept 15)

  • User Profile Management (Basic profile setup, photo upload)
  • Image upload functionality with Multer
  • Image optimization and compression implementation
  • Add password reset & validation (regex, strong password)
  • Secure routes with JWT middleware
  • Parameterized SQL queries to prevent SQLi
  • Frontend validation and form accessibility
  • Security tests: SQLi, XSS (OWASP ZAP)
  • Profile photo and cover photo management
  • Social media linking functionality
  • API endpoints for profile CRUD operations
  • Frontend React components for user registration and login

Week 3 (Sept 22)

  • Create and submit progress report and demo video
  • City and Category Management (Cities, Recommendation_Categories tables)
  • Basic recommendation creation functionality
  • Recommendation CRUD API endpoints
  • photo upload for recommendations
  • Frontend forms for recommendation creation
  • Basic search functionality implementation
  • Integration tests for recommendation endpoints and E2E Test

Milestone 2

Week 4 (Sept 29)

  • Advanced Search Implementation (multi-filter capability)
  • Search by location, category, price range, difficulty level
  • Tag system implementation (Recommendation_Tags, Tag_Links tables)
  • Search results pagination and infinite scroll
  • Frontend search interface with filter components
  • Database indexing for search optimization
  • Search performance testing and optimization

Week 5 (Oct 6)

  • Rating and Review System (Recommendation_Ratings table)
  • Like/Unlike functionality (Recommendation_Likes table)
  • User interaction tracking and analytics
  • Recommendation browsing and discovery feeds (Implemented personalized feed algorithm)
  • Content validation and sanitization (XSS protection)
  • SQL injection prevention testing
  • Frontend components for rating and reviewing

Week 6 (Oct 13)

  • Break Week: Catch-up, bug fixes, and refactoring
  • CI: GitHub Actions auto-run unit + integration + E2E tests (Note: Pipeline configured but test execution needs to be added to workflow)
  • Add E2E test and Unit Test suite for remaining Test Cases (Social features, Feed, Comprehensive E2E)

Week 7 (Oct 20)

  • Submit progress report + demo video
  • Deploy initial progress to hosting platform
  • Production environment setup
  • Database deployment and migration
  • Environment variables configuration
  • SSL certificate setup
  • Production testing and bug fixes

Milestone 3

Week 8 (Oct 27)

  • Begin implementing Travel Buddy System (Travel_Buddy_Connections table)
  • Connection request functionality
  • Accept/decline buddy requests
  • Privacy controls for social media sharing
  • User blocking and reporting system
  • Real-time notifications implementation (WebSocket with Socket.IO)
  • Frontend components for buddy management
  • Security testing for user connections with Unit Test and E2E test

Week 9

  • Trip Planning System (Trips, Trip_Cities, Trip_Companions tables)
  • Collaborative trip creation and management
  • Trip itinerary planning (Trip_Itinerary table)
  • Travel companion finder functionality
  • Trip sharing and privacy controls
  • Integration with recommendation system
  • Frontend trip planning interface

Week 10

  • Submit progress report + demo video
  • Achievement System (Achievements, User_Achievements tables)
  • Badge creation and tracking
  • Travel history tracking (User_City_Visits table)
  • User engagement metrics
  • Achievement notification system
  • Frontend achievement display components

Week 11 (Nov 17)

  • Milestone 4: Moderation System (Moderator_Actions, Content_Reports tables)
  • Content reporting functionality
  • Moderator dashboard for content review
  • User warning system (User_Warnings table)
  • Content removal and user management
  • Moderation queue and workflow
  • Admin analytics and reporting
  • Security audit and penetration testing

Week 12 (Nov 17)

  • Final polish: responsive layout, accessibility checks (Lighthouse/Axe)
  • Recommendation algorithm optimization
  • Search history and saved searches (Search_History, Saved_Searches tables) - Backend API and Frontend UI implemented
  • Search history dropdown with auto-complete suggestions (shows matching history items while typing)
  • Full search history sidebar with date grouping (Today, Yesterday, This Week, Older)
  • Click history items to re-run searches with saved filters
  • Delete individual history items or clear all history
  • Keyboard navigation support (arrow keys, Enter, Escape)
  • Integrated into SearchInput, SearchBar, and AdvancedSearch components
  • Custom useSearchHistory hook for state management
  • User favorites system (User_Favourites table) - Implemented via recommendation_saves
  • GitHub Actions: final test automation
  • critical bug fixes
  • Test E2E and Unit Test of all the features - Comprehensive test suites added
  • Run final CI/CD, test coverage reports, accessibility scan
  • Accessibility compliance testing (WAVE, axe DevTools)
  • Production deployment finalization
  • Final deployment and tag release version

Week 13 (Dec 1)

  • Write final report (include test, deployment, screenshots)
  • Record and submit final demo video
  • Showcase all major features + CI/CD, testing, accessibility

NOTE: I will add as I go.

πŸ›  Technical Architecture

Technology Stack

  • Frontend: React.js with TailwindCSS
  • Backend: Node.js with Express.js framework
  • Database: PostgreSQL
  • Authentication: JWT with bcrypt password hashing
  • Containerization: Docker
  • File Upload: Multer with image optimization
  • Testing: Jest for API testing, React Testing Library for frontend
  • Deployment: DigitalOcean

Security Features

  • SQL Injection Protection: Parameterized queries
  • XSS Prevention: Input sanitization and validation
  • Session Security: 15-minute timeout with secure JWT tokens
  • Password Security: bcrypt hashing with strength validation
  • Data Protection: Secure storage for personal information

🎨 User Interface

Key Pages & URLs

  • / - Landing page introduction
  • /signup - New user registration
  • /login - User authentication
  • /reset-password - Reset Password
  • /dashboard - Primary landing page after login

Development URLs

Production URLs

CityPulse - Connecting Travelers, Sharing Experiences, Building Communities 🌍✈️

πŸ“Š Test Coverage

Run coverage reports locally:

  • Backend: cd backend && pnpm test:coverage
  • Frontend: cd frontend && pnpm test:coverage
  • View HTML Reports: cd backend && pnpm test:coverage:html (opens in browser)

Coverage reports are generated in:

  • Backend: backend/coverage/
  • Frontend: frontend/coverage/

Review Assignment Due Date

Open in Visual Studio Code

About

capstone-project-NevilPatel01 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published