README.md

Infinite Canvas Project

This project implements an infinite canvas where users can draw and interact with tiles. Each tile is uploaded to a RESTful server when it changes, allowing for dynamic updates and storage.

Project Structure

infinite-canvas-project
├── backend
│   ├── db
│   │   └── schema.sql          # SQL schema for the database
│   ├── public
│   │   └── index.php           # Entry point for the backend application
│   ├── src
│   │   ├── config.php          # Configuration settings for the backend
│   │   ├── db.php              # Database connection management
│   │   └── upload_tile.php      # Handles tile uploads from the frontend
├── frontend
│   ├── css
│   │   └── styles.css          # Styles for the frontend application
│   ├── js
│   │   └── canvas.js           # JavaScript for infinite canvas functionality
│   └── index.html              # Main HTML file for the frontend application
└── README.md                   # Documentation for the project

Setup Instructions

Backend

  1. Navigate to the backend directory.
  2. Create a database and run the SQL schema located in db/schema.sql to set up the necessary tables.
  3. Configure the database connection settings in src/config.php.
  4. Deploy the backend using a PHP server (e.g., Apache, Nginx).

Frontend

  1. Navigate to the frontend directory.
  2. Open index.html in a web browser to view and interact with the infinite canvas.
  3. Ensure the backend server is running to handle tile uploads.

Features

  • Infinite canvas for drawing
  • Tile-based storage system
  • RESTful API for tile uploads
  • Dynamic updates to the canvas

Technologies Used

  • PHP for backend development
  • MySQL for database management
  • HTML, CSS, and JavaScript for frontend development

Contributing

Feel free to submit issues or pull requests for improvements and bug fixes.