Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
156 changes: 155 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,155 @@
# jam
# 🎯 JAM - File Repository for Hands-on Lab

A simple, lightweight file-sharing repository designed for educational hands-on labs and workshops.

## 🚀 Quick Start

### Option 1: Run with Python (Recommended)

```bash
# Clone the repository
git clone https://github.com/samuel-bohman/jam.git
cd jam

# Start the server
python3 server.py
```

Then open your browser to: **http://localhost:8000**

### Option 2: Use any HTTP server

If you prefer another HTTP server:

```bash
# Using Python's built-in server
python3 -m http.server 8000

# Using Node.js http-server (requires npm install -g http-server)
http-server -p 8000

# Using PHP's built-in server
php -S localhost:8000
```

## 📁 Repository Structure

```
jam/
├── index.html # Main landing page with file browser
├── server.py # Simple Python HTTP server
├── files/ # Directory containing lab files
│ ├── lab-01-starter.txt
│ ├── lab-02-intermediate.txt
│ ├── lab-03-advanced.txt
│ ├── reference-materials.txt
│ └── tutorial-videos.txt
└── README.md # This file
```

## 📝 Adding Your Own Files

1. Place your lab files in the `files/` directory
2. Update `index.html` to list your new files
3. Customize the descriptions and icons as needed

### Example: Adding a New Lab File

```html
<li class="file-item">
<div class="file-info">
<span class="file-icon">📄</span>
<div>
<div class="file-name">your-file.zip</div>
<div class="file-description">Your file description</div>
</div>
</div>
<a href="files/your-file.zip" class="download-btn" download>Download</a>
</li>
```

## 🎨 Customization

### Branding
Edit `index.html` to change:
- Title and description in the header
- Color scheme (CSS variables in the `<style>` section)
- File listings and descriptions

### File Types
The repository supports any file type:
- `.zip`, `.tar.gz` - Compressed archives
- `.pdf`, `.docx` - Documents
- `.txt`, `.md` - Text files
- `.mp4`, `.mov` - Videos (consider external hosting for large files)
- Any other file format your lab needs

## 🌐 Deployment Options

### GitHub Pages (Free & Easy)

1. Push your repository to GitHub
2. Go to Settings → Pages
3. Select the main branch as the source
4. Your site will be available at: `https://username.github.io/jam/`

### Other Hosting Options

- **Netlify**: Drag and drop deployment
- **Vercel**: Git-based deployment
- **AWS S3**: Static website hosting
- **Self-hosted**: Use any web server (Apache, Nginx, etc.)

## 🔒 Security Considerations

For production use, consider:
- Adding authentication if files are sensitive
- Using HTTPS for secure transfers
- Implementing access logging
- Setting up proper CORS policies
- Scanning uploaded files for malware

## 💡 Use Cases

Perfect for:
- Educational workshops and training
- Coding bootcamps and classes
- Conference hands-on sessions
- Team onboarding materials
- Study group resources
- Tutorial file distribution

## 🤝 Contributing

Feel free to customize this repository for your needs! Some ideas:
- Add user authentication
- Implement file upload functionality
- Add search and filtering
- Include file previews
- Add analytics tracking

## 📄 License

This is a simple educational tool. Use it freely for your labs and workshops!

## 🆘 Troubleshooting

**Port already in use?**
```bash
# Change the port in server.py or use:
python3 -m http.server 8080
```

**Files not downloading?**
- Check that files exist in the `files/` directory
- Verify file paths in `index.html` match actual files
- Ensure your browser isn't blocking downloads

**Server not starting?**
- Make sure Python 3 is installed: `python3 --version`
- Check firewall settings
- Try running with elevated permissions (not recommended for production)

---

Built with ❤️ for hands-on learning
19 changes: 19 additions & 0 deletions files/lab-01-starter.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Lab 1: Getting Started

This is a starter file for Lab 1.

## Instructions

1. Extract this archive
2. Follow the tutorial steps
3. Complete the exercises
4. Have fun!

## Contents

- README.md (this file)
- sample-code.txt
- exercise-template.txt

---
Sample content for hands-on lab
18 changes: 18 additions & 0 deletions files/lab-02-intermediate.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Lab 2: Intermediate Concepts

This file contains intermediate exercises.

## Topics Covered

- Advanced techniques
- Best practices
- Real-world examples

## Practice Exercises

1. Exercise 1: Build a simple application
2. Exercise 2: Optimize performance
3. Exercise 3: Debug common issues

---
Intermediate level content for hands-on practice
19 changes: 19 additions & 0 deletions files/lab-03-advanced.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Lab 3: Advanced Topics

Challenge yourself with advanced concepts!

## Advanced Challenges

- Complex architectures
- Performance optimization
- Security considerations
- Scalability patterns

## Challenge Problems

1. Design a distributed system
2. Implement caching strategies
3. Build a production-ready solution

---
Advanced challenges for experienced learners
27 changes: 27 additions & 0 deletions files/reference-materials.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Reference Materials

## Quick Reference Guide

### Key Concepts
- Concept 1: Fundamental principles
- Concept 2: Core techniques
- Concept 3: Best practices

### Cheat Sheet
- Command 1: Description
- Command 2: Description
- Command 3: Description

### Common Patterns
- Pattern A: When to use
- Pattern B: Implementation details
- Pattern C: Trade-offs

### Troubleshooting
- Issue 1: Solution
- Issue 2: Workaround
- Issue 3: Best approach

---
This reference material is designed to help you during the labs.
Keep it handy for quick lookups!
27 changes: 27 additions & 0 deletions files/tutorial-videos.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Tutorial Videos

## Video Walkthroughs

### Lab 1 Video Tutorial
Link: https://example.com/lab1-tutorial
Duration: 15 minutes
Topics: Getting started, basic setup, first steps

### Lab 2 Video Tutorial
Link: https://example.com/lab2-tutorial
Duration: 25 minutes
Topics: Intermediate concepts, hands-on practice

### Lab 3 Video Tutorial
Link: https://example.com/lab3-tutorial
Duration: 35 minutes
Topics: Advanced topics, complex scenarios

### Additional Resources
- Overview: https://example.com/overview
- Tips and Tricks: https://example.com/tips
- Q&A Session: https://example.com/qa

---
Note: Replace the example.com links with actual video hosting URLs
when you upload your tutorial content.
Loading