Skip to content

mansi104-ai/EasyER

Repository files navigation

EasyER Logo

EasyER

✨✨An interactive web application for creating and managing Entity-Relationship diagrams with real-time collaboration features.✨✨

Features

  • Create and edit ER diagrams with an intuitive interface
  • Real-time diagram preview
  • Export diagrams in multiple formats
  • Save diagram history
  • Collaborative editing
  • File upload support for importing existing diagrams

Tech Stack

Machine Learning & Tools

DeepSeek
Graphviz

Frontend

Next.js
TypeScript
shadcn/ui
Tailwind CSS

Backend

Prisma
PostgreSQL
Flask

Prerequisites

  • Node.js 18+
  • PostgreSQL
  • npm or yarn

Getting Started

  1. Clone the repository:
git clone https://github.com/mansi104-ai/EasyER/.git
cd EasyER
  1. Install frontend dependencies:
cd er-diagram-generator
npm install

Install backend dependencies:

cd backend
pip install -r requirements.txt
  1. Set up your environment variables:
cp .env.example .env
  1. Configure your database connection in .env:
DATABASE_URL="postgresql://user:password@localhost:5432/er_diagram_db"
  1. Run database migrations:
npx prisma migrate dev
  1. Start the development server:
npm run dev

Visit http://localhost:3000 to start using the application.

Database Schema

The application uses the following database models:

  • 📐Diagram: Stores diagram metadata and content
  • 👩🏽‍💻User: User authentication and preferences
  • ⏱️History: Tracks diagram changes and versions
  • 🔗Collaboration: Manages shared access and permissions

API Routes

  • /api/diagrams: CRUD operations for diagrams
  • /api/diagrams/generate: Generate diagram from specifications
  • /api/history: Track and retrieve diagram history
  • /api/collaboration: Manage shared access

Contributing

Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.