📚 Getting Started Guide
🚀 Quick Start
- Sign up for a free account - Get 3 CPU cores, 4GB RAM, and 50GB storage!
- Access your workspace from the dashboard with 4 main features:
- 📊 Jupyter - Interactive notebooks for data science
- 💻 VS Code - Full IDE for development
- 📤 Upload Files - Transfer files from your computer
- 🚀 Deploy Apps - Get public URLs for your apps
- Upload files from your laptop (.py, .ipynb, .csv, etc.)
- Develop in Jupyter or VS Code
- Deploy as Flask, Streamlit, or FastAPI app with one click
- Share your app URL: https://yourusername-appname.flashappai.org
🐍 Python Development
Creating Virtual Environments
# In VS Code terminal or Jupyter terminal
python3 -m venv myenv # Create virtual environment
source myenv/bin/activate # Activate on Linux/Mac
# or
myenv\Scripts\activate # Activate on Windows
# Your prompt will change to show (myenv)
deactivate # To deactivate when done
Installing Packages
# Install individual packages
pip install pandas numpy matplotlib
# Install from requirements file
pip install -r requirements.txt
# Save current packages to file
pip freeze > requirements.txt
# Upgrade packages
pip install --upgrade package_name
Pre-installed Packages
Your environment comes with these packages pre-installed:
- Data Science: numpy, pandas, matplotlib, jupyter, ipykernel
- Web Development: flask, requests
- Dev Tools: black (formatter), pylint (linter), pytest (testing)
📊 Using Jupyter Notebooks
Keyboard Shortcuts
- Shift + Enter - Run cell and move to next
- Ctrl + Enter - Run cell and stay
- Alt + Enter - Run cell and insert new below
- Esc - Command mode (blue border)
- Enter - Edit mode (green border)
- A - Insert cell above (in command mode)
- B - Insert cell below (in command mode)
- DD - Delete cell (in command mode)
- M - Change to Markdown (in command mode)
- Y - Change to Code (in command mode)
Installing Kernels
# Install Python kernel for your virtual environment
python -m ipykernel install --user --name=myenv
# List available kernels
jupyter kernelspec list
# Remove a kernel
jupyter kernelspec uninstall myenv
💻 VS Code Tips
Essential Shortcuts
- Ctrl + ` - Open terminal
- Ctrl + P - Quick file open
- Ctrl + Shift + P - Command palette
- Ctrl + / - Toggle comment
- Alt + Up/Down - Move line up/down
- Ctrl + D - Select next occurrence
- F5 - Start debugging
- Ctrl + Space - Trigger suggestions
Python Development
The Python extension is pre-installed! Features include:
- ✅ IntelliSense (auto-completion)
- ✅ Linting (error detection)
- ✅ Debugging support
- ✅ Code formatting with Black
- ✅ Jupyter notebook support
- ✅ Virtual environment detection
📁 File Management
Your Workspace Structure
Your Workspace/
├── ide/ # VS Code projects
├── notebooks/ # Jupyter notebooks
└── apps/ # Future: deployed applications
Uploading Files
- Jupyter: Use the Upload button in the file browser
- VS Code: Drag and drop files into the explorer panel
- Terminal: Use wget or curl to download files directly
Downloading Files
- Jupyter: Right-click file → Download
- VS Code: Right-click file → Download
📤 Uploading Files from Your Computer
How to Upload
- Click "Upload Files" on your dashboard
- Choose destination: Jupyter or VS Code workspace
- Drag & drop files or click to browse
- Files are instantly available in your workspace
Supported Files
- .ipynb - Jupyter notebooks
- .py - Python scripts
- .csv, .json, .txt - Data files
- Any text file - Up to 100MB
🚀 Deploying Your Apps
One-Click Deployment
- Develop your app in Jupyter or VS Code
- Click "Deploy App" on dashboard or use File Manager
- Select your workspace (Jupyter/VS Code) and folder
- Choose app type (Flask/Streamlit/FastAPI)
- Enter file name (.py or .ipynb)
- Optionally select a specific requirements.txt file
- Get your public URL: https://username-appname.flashappai.org
📦 Dependency Management
🎯 Smart Dependency Detection
- Automatic Import Detection: We scan your Python files and automatically install required packages
- Framework Detection: Flask, Streamlit, FastAPI are automatically included based on app type
- Smart Package Mapping: Common imports like 'sklearn' are mapped to correct pip names ('scikit-learn')
📋 Using requirements.txt
While dependencies are automatically detected, you can add a requirements.txt
for additional packages or specific versions:
# requirements.txt example
pandas==2.0.3
numpy>=1.24.0
requests~=2.31.0
matplotlib
seaborn
custom-package==1.2.3
💡 Multiple Requirements Files
- Have multiple apps? Use different requirements files:
app1-requirements.txt
,app2-requirements.txt
- Select the specific file during deployment in File Manager
- Or specify the path in Dashboard deployment form
🔄 Deployment Options
- From Dashboard: Quick deployment with manual file selection
- From File Manager: Right-click any .py or .ipynb file → Deploy as App
- Folder Navigation: Single-click folders to browse, deploy from any location
- Subdirectory Support: Deploy apps from nested folders in your workspace
Jupyter Notebook Deployment
NEW! Deploy .ipynb files directly - no conversion needed!
- All code cells are automatically combined
- Markdown cells become st.markdown() for Streamlit
- Magic commands (% and !) are removed
- Framework-specific code is added automatically
- Dependencies from notebook imports are auto-detected
Streamlit App Example
import streamlit as st
import pandas as pd
import matplotlib.pyplot as plt
st.title("My Data App")
uploaded_file = st.file_uploader("Choose a CSV file")
if uploaded_file:
df = pd.read_csv(uploaded_file)
st.dataframe(df)
fig, ax = plt.subplots()
df.plot(ax=ax)
st.pyplot(fig)
Flask App Example
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/')
def home():
return "Welcome to my API!"
@app.route('/api/data')
def get_data():
return jsonify({"message": "Hello World"})
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
FastAPI Example
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
price: float
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.post("/items/")
def create_item(item: Item):
return item
🎯 Deployment Best Practices
- Test Locally First: Run your app in VS Code terminal before deploying
- Use Virtual Environments: Keep dependencies clean and organized
- Version Your Dependencies: Specify exact versions in requirements.txt for reproducibility
- Environment Variables: Use os.environ for sensitive data, not hardcoded values
- Health Checks: Apps are monitored and marked as 'running' only when fully responsive
⚡ Common Tasks
Clone a GitHub Repository
git clone https://github.com/username/repository.git
cd repository
pip install -r requirements.txt # If Python project
Data Science Workflow
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# Load data
df = pd.read_csv('data.csv')
# Explore
df.head()
df.describe()
df.info()
# Visualize
plt.figure(figsize=(10, 6))
df.plot(kind='bar')
plt.show()
🔧 Troubleshooting
Common Issues
- Kernel not connecting: Refresh the page and wait 10 seconds
- Package not found: Make sure your virtual environment is activated
- Permission denied: Use
pip install --user package_name
- Out of memory: Restart kernel or container from dashboard
Getting Help
- 📧 Email: [email protected]
- 💬 Community Forum: Coming soon!
- 📖 Documentation: You're reading it!
💡 Pro Tips
- 🔄 Your work is automatically saved - no need to worry about losing progress!
- 🚀 Containers start on-demand - first access may take 30 seconds
- 💾 Each user gets isolated storage - your files are private
- 🔒 No authentication needed after login - we handle security at the proxy level
- 📊 Switch between Jupyter and VS Code anytime - they share the same storage
- 🎯 Free tier is generous: 3 CPUs, 4GB RAM, 50GB storage!
- ⚡ Upgrade for GPU access and more resources