Plots Creator is a Phoenix LiveView application that allows users to create and share data visualizations. Users can input datasets and expressions, generate plots using Plotly.js, and collaborate with others.
- User Authentication: Secure login and registration system with password reset functionality.
- Data Visualization: Create plots by inputting a dataset and an expression.
- Plotting Library: Plots are rendered using Plotly.js, a powerful JavaScript graphing library.
- Real-Time Updates: Leverages Phoenix LiveView for dynamic and real-time user interactions.
- User Dashboard: Manage your plots and view plots shared with you.
- Flash Messages: Auto-dismissing flash messages for a better user experience.
- Elixir: v1.12 or higher
- Phoenix Framework: v1.6 or higher
- Node.js: v14 or higher (for asset management)
-
Clone the repository:
git clone https://github.com/imahmedismail/plots-creator.git cd plots-creator -
Install dependencies:
mix deps.get npm install --prefix assets
-
Set up the database:
mix ecto.setup
-
Start the Phoenix server:
mix phx.server
-
Visit
http://localhost:4000in your browser to see the application. -
Add .env file to your locally fetched repo and add the following line there
export GITHUB_TOKEN=your_github_auth_token_hereNote: You can generate the token using:
https://github.com/settings/tokens
- Creating a Plot: Navigate to 'Your Plots' and click 'New Plot'. Enter the plot name, dataset, and expression, then click 'Create'.
- Sharing Plots: Plots can be shared with other users via the 'Shared with you' page.
- Plot Examples: Explore the sample dataset provided (earthquake.csv) for quick plotting.
- Plotly.js: Used for rendering the plots.
- Phoenix Framework: Provides the web and real-time backend.