Skip to content

CanvasForCause is a full-stack MERN application (MongoDB, Express.js, React.js, Node.js) that blends digital art creation with real-time community interaction. It includes a virtual canvas, Cloudinary media uploads, and RESTful APIs for authentication, artwork sharing, messaging, and interactive galleries enabling expressive storytelling.

Notifications You must be signed in to change notification settings

kalviumcommunity/S62_Varsha_Capstone_CanvasForCause

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

CanvasForCause

A Digital Platform Integrating Technology and Art for Self-Expression and Connection


Project Description

CanvasForCause is a full-stack MERN application that bridges technology and art to create a supportive community platform for self-expression. The platform enables users to create digital artwork through a virtual canvas, upload physical artwork, share personal stories behind their creations, and connect with others through a community gallery.

Art has always been a universal language of self-expression, offering individuals a therapeutic outlet for emotions and creativity. However, existing platforms don't fully address emotional expression through art and its impact on mental well-being. CanvasForCause aims to fill this gap by creating a space where art becomes a medium for connection, storytelling, and personal growth.

Core Features

  • User Management: Registration, authentication, and profile management
  • Virtual Canvas: Interactive tool for digital art creation
  • Artwork Upload: Share both digital and physical artwork
  • Community Gallery: Explore artwork with likes, comments, and personal stories
  • Dashboard: Personal space to manage artwork and activity
  • Communication: Private messaging and notification system

Tech Stack

  • MongoDB: For storing user profiles, artwork metadata, and interactions
  • Express/Node.js: API endpoints and server-side functionality
  • React: Interactive user interfaces and components
  • Cloudinary: Cloud storage for artwork images

Day-by-Day Development Plan

Week 1: Project Setup & Planning

  • Day 1: Initialize GitHub repository, create README, set up project structure
  • Day 2: Design database schema for users, artwork, comments, and messages
  • Day 3: Set up Express server and basic API routes
  • Day 4: Create MongoDB connection and models
  • Day 5: Design UI wireframes for main components
  • Weekend: Review progress, adjust plans if needed

Week 2: Authentication & User Management

  • Day 1: Implement user registration functionality
  • Day 2: Implement login functionality and JWT authentication
  • Day 3: Create user profile components and forms
  • Day 4: Implement profile management (edit, delete)
  • Day 5: Build avatar upload with Cloudinary integration
  • Weekend: Test and debug authentication flows

Week 3: Virtual Canvas Development

  • Day 1: Design canvas component structure
  • Day 2: Implement basic drawing functionality
  • Day 3: Add color selection and brush options
  • Day 4: Implement save and download features
  • Day 5: Connect canvas to backend storage
  • Weekend: Test canvas on different devices, fix issues

Week 4: Artwork Upload & Management

  • Day 1: Create artwork upload interface
  • Day 2: Implement Cloudinary integration for image uploads
  • Day 3: Build artwork metadata forms (title, description, stories)
  • Day 4: Create artwork edit and delete functionality
  • Day 5: Implement user's personal gallery
  • Weekend: Test upload flows and optimize image handling

Week 5: Community Gallery

  • Day 1: Design and implement gallery layout
  • Day 2: Create artwork cards with preview functionality
  • Day 3: Implement liking and saving features
  • Day 4: Build commenting system
  • Day 5: Add personal story display and interaction
  • Weekend: Test gallery performance with multiple entries

Week 6: User Dashboard

  • Day 1: Design dashboard layout
  • Day 2: Implement artwork management section
  • Day 3: Create activity feed component
  • Day 4: Build notification display
  • Day 5: Add saved artwork collection
  • Weekend: User testing and UI refinements

Week 7: Messaging & Notifications

  • Day 1: Design messaging interface
  • Day 2: Implement real-time messaging with Socket.io
  • Day 3: Create conversation management
  • Day 4: Build notification system
  • Day 5: Implement real-time notifications for interactions
  • Weekend: Test messaging and notifications

Week 8: Final Integration & Polish

  • Day 1: Integrate all components
  • Day 2: Implement responsive design for all screen sizes
  • Day 3: Add loading states and error handling
  • Day 4: Conduct comprehensive testing
  • Day 5: Fix bugs and performance issues
  • Weekend: Prepare final deployment

Weeks 9-10: Enhancements

  • Implement advanced gallery features (sorting, filtering)
  • Enhance notification system
  • Refine user dashboard UI/UX
  • Optimize performance

Weeks 11-12: Final Features & Deployment

  • Implement remaining communication features
  • Add final optimizations
  • Deploy to production

DEPLOYED BACKEND LINK

https://s62-varsha-capstone-canvasforcause.onrender.com

DEPLOYED FRONTEND LINK

https://s62-varsha-capstone-canvas-for-cause.vercel.app

About

CanvasForCause is a full-stack MERN application (MongoDB, Express.js, React.js, Node.js) that blends digital art creation with real-time community interaction. It includes a virtual canvas, Cloudinary media uploads, and RESTful APIs for authentication, artwork sharing, messaging, and interactive galleries enabling expressive storytelling.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages