https://github.com/daquino94/linux-path
An interactive learning platform that has helped thousands of people take their first steps into the world of Linux.
https://github.com/daquino94/linux-path
linux next-intl nextjs react
Last synced: 26 days ago
JSON representation
An interactive learning platform that has helped thousands of people take their first steps into the world of Linux.
- Host: GitHub
- URL: https://github.com/daquino94/linux-path
- Owner: daquino94
- License: cc-by-sa-4.0
- Created: 2025-05-23T19:19:53.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-09-30T16:08:43.000Z (6 months ago)
- Last Synced: 2025-09-30T18:09:16.035Z (6 months ago)
- Topics: linux, next-intl, nextjs, react
- Language: TypeScript
- Homepage: https://linux-path.com
- Size: 38.1 MB
- Stars: 48
- Watchers: 0
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: license
Awesome Lists containing this project
README
# Linux Path
A New Life for LinuxJourney
An interactive learning platform that has helped thousands of people take their first steps into the world of Linux.
## Support the Project
If you find Linux Path helpful and want to support its development, consider buying me a coffee! Your support helps keep this project alive and enables continuous improvements to help more people learn Linux.
## Features
- ๐ง **Interactive Linux Learning**: Step-by-step lessons covering Linux fundamentals
- ๐ **Multi-language Support**: Built with internationalization (i18n) using next-intl
- ๐ **Comprehensive Curriculum**: Structured chapters covering everything from basics to advanced topics
- ๐ฏ **Interactive Exercises**: Hands-on practice with real Linux commands
- ๐ฑ **Responsive Design**: Beautiful, modern interface that works on all devices
- ๐ง **Easy Deployment**: Multiple deployment options including Docker
- ๐ **JSON-Based Content**: Flexible content management through JSON dictionaries
- ๐ **Fast Performance**: Built with Next.js for optimal loading times
## Roadmap
Here are the exciting features coming to Linux Path:
| Feature | Status |
| ----------------------- | ------ |
| SSG | โ
|
| Lesson generator script | ๐ |
| Dark Mode | ๐ |
| New Lessons | ๐ |
| View progress | ๐ |
**Legend:**
- ๐ In Development
- ๐ Planned
- ๐ก Research Phase
- โ
Complete
## Dictionary System
Linux Path uses a sophisticated dictionary system for content management and internationalization. For detailed information, see the [Dictionary Documentation](dictionaries/README.md).
### Dictionary Status
| Language | Status | Completion |
| ------------- | -------------- | ------------- |
| ๐บ๐ธ English | โ
Complete | 100% (Master) |
| ๐ฎ๐น Italian | ๐ In Progress | ~80% |
| ๐ฉ๐ช German | โ
Complete | 100% (๐ค AI) |
| ๐ซ๐ท French | โ
Complete | 100% (๐ค AI) |
| ๐ช๐ธ Spanish | โ
Complete | 100% (๐ค AI) |
| ๐ฎ๐ณ Hindi | โ
Complete | 100% (๐ค AI) |
| ๐ฏ๐ต Japanese | โ
Complete | 100% (๐ค AI) |
| ๐ต๐น Portuguese | โ
Complete | 100% (๐ค AI) |
| ๐ท๐บ Russian | โ
Complete | 100% (๐ค AI) |
| ๐จ๐ณ Chinese | โ
Complete | 100% (๐ค AI) |
Unfortunately, I am a native Italian speaker, so I cannot guarantee the accuracy or naturalness of the translations in other languages.
## Quick Start
### Prerequisites
Choose one of the following:
- **Node.js**: 18.0+ and npm (for local development)
- **Docker**: Latest version (for containerized deployment)
### Option 1: Local Development
1. **Clone the repository**:
```bash
git clone https://github.com/daquino94/linux-path.git
cd linux-path
```
2. **Install dependencies**:
```bash
npm install
```
3. **Start the development server**:
```bash
npm run dev
```
4. **Open your browser**:
Navigate to `http://localhost:3000`
### Option 2: Production Build (Local)
1. **Clone and install** (same as above steps 1-2)
2. **Build the application**:
```bash
npm run build
```
3. **Start the production server**:
```bash
npm start
```
### Option 3: Docker Deployment
#### Using Docker Compose (Recommended)
1. **Clone the repository**:
```bash
git clone https://github.com/daquino94/linux-path.git
cd linux-path
```
2. **Run with Docker Compose**:
```bash
docker-compose up -d
```
#### Manual Docker Build
1. **Build the Docker image**:
```bash
docker build -t linux-path .
```
2. **Run the container**:
```bash
docker run -d \
--name linux-path \
-p 3000:3000 \
-e NODE_ENV=production \
linux-path
```
## Architecture
### Multi-stage Docker Build
The project uses a sophisticated multi-stage Docker build process:
- **Stage 1 (Builder)**: Compiles and builds the Next.js application
- **Stage 2 (Runner)**: Creates a lean production image with only necessary files
This approach results in:
- โ
Smaller final image size
- ๐ Enhanced security (no build tools in production)
- โก Faster deployment times
- ๐งน Cleaner production environment
### Technology Stack
- **Frontend Framework**: Next.js 15+ with App Router
- **Language**: TypeScript for type safety
- **Styling**: Tailwind CSS for responsive design
- **Internationalization**: next-intl for multi-language support
- **Content Management**: JSON-based dictionary system
- **Containerization**: Docker with multi-stage builds
## Configuration
### Environment Variables
The application can be configured using the following environment variables:
| Variable | Description | Default |
| --------------------- | ----------------------------- | ----------------------- |
| `NODE_ENV` | Environment mode | `development` |
| `PORT` | Port to run the application | `3000` |
| `NEXT_PUBLIC_APP_URL` | Public URL of the application | `http://localhost:3000` |
### Development Configuration
Create a `.env.local` file in the root directory:
```env
NODE_ENV=development
NEXT_PUBLIC_APP_URL=http://localhost:3000
```
### Adding New Content or contributing New Languages
please refer to this [documentation](/dictionaries/README.md)
## Contributing
We welcome contributions! Here's how you can help:
### Ways to Contribute
1. **๐ Translations**: Help translate content to new languages
2. **๐ Content**: Improve existing lessons or add new ones
3. **๐ Bug Reports**: Report issues you encounter
4. **๐ก Feature Requests**: Suggest new features
5. **๐ง Code**: Submit pull requests with improvements
### Development Workflow
1. **Fork the repository**
2. **Create a feature branch**: `git checkout -b feature/amazing-feature`
3. **Make your changes**: Follow the coding standards
4. **Test thoroughly**: Ensure everything works correctly
5. **Commit your changes**: `git commit -m 'Add amazing feature'`
6. **Push to branch**: `git push origin feature/amazing-feature`
7. **Open a Pull Request**: Describe your changes clearly
## Support
- ๐ **Documentation**: Check the [Dictionary Documentation](dictionaries/README.md)
- ๐ **Issues**: Report bugs on the [GitHub Issues page](https://github.com/daquino94/linux-path/issues)
- ๐ฌ **Discussions**: Join conversations in [GitHub Discussions](https://github.com/daquino94/linux-path/discussions)
- ๐ง **Contact**: Reach out to the maintainers
## License
This project is licensed under the CC-BY-SA-4.0 License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- ๐ **LinuxJourney**: Original inspiration for this project
- ๐ง **Linux Community**: For the wealth of knowledge and support
- ๐ฅ **Contributors**: Everyone who has contributed to making this project better
- ๐ **Users**: All the learners who use this platform to master Linux