Skip to content

Zerocode-sean/Devops_blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DevOps Bootcamp Website

A modern, full-stack web application for sharing DevOps resources and courses. Built with HTML, CSS, JavaScript frontend and Node.js/MongoDB backend.

πŸš€ Features

Frontend

  • Modern Design: Beautiful, responsive UI with gradient color scheme and smooth animations
  • Interactive Components: Dynamic resource filtering, smooth scrolling, and engaging animations
  • Mobile Responsive: Fully responsive design that works on all devices
  • Modern Technologies: Uses CSS Grid, Flexbox, and modern JavaScript features

Backend

  • RESTful API: Well-structured API endpoints for all features
  • MongoDB Integration: Robust data models for resources, courses, and users
  • Authentication Ready: User registration and login system
  • Newsletter System: Email subscription management
  • Data Validation: Comprehensive input validation using express-validator

Key Sections

  • Hero Section: Eye-catching landing area with floating DevOps tool cards
  • Resources: Filterable collection of DevOps tutorials, guides, and tools
  • Courses: Comprehensive DevOps courses with detailed curriculum
  • Community: Newsletter subscription and community features
  • Admin Features: Statistics and content management endpoints

πŸ›  Technology Stack

Frontend

  • HTML5: Semantic markup
  • CSS3: Modern styling with CSS Grid, Flexbox, animations
  • JavaScript (ES6+): Interactive functionality and API integration
  • Font Awesome: Icons
  • Google Fonts: Typography (Inter font family)

Backend

  • Node.js: Runtime environment
  • Express.js: Web framework
  • MongoDB: Database
  • Mongoose: ODM for MongoDB
  • Express Validator: Input validation
  • Helmet: Security middleware
  • CORS: Cross-origin resource sharing
  • Rate Limiting: API protection

πŸ“ Project Structure

DevOps Blog/
β”œβ”€β”€ frontend/                 # Frontend application
β”‚   β”œβ”€β”€ index.html           # Main HTML file
β”‚   β”œβ”€β”€ css/
β”‚   β”‚   └── style.css        # Main stylesheet
β”‚   β”œβ”€β”€ js/
β”‚   β”‚   └── main.js          # JavaScript functionality
β”‚   └── assets/
β”‚       └── images/          # Image assets
β”œβ”€β”€ backend/                 # Backend API
β”‚   β”œβ”€β”€ server.js           # Main server file
β”‚   β”œβ”€β”€ package.json        # Dependencies and scripts
β”‚   β”œβ”€β”€ .env                # Environment variables
β”‚   β”œβ”€β”€ models/             # Database models
β”‚   β”‚   β”œβ”€β”€ Resource.js     # Resource model
β”‚   β”‚   β”œβ”€β”€ Course.js       # Course model
β”‚   β”‚   └── User.js         # User model
β”‚   β”œβ”€β”€ routes/             # API routes
β”‚   β”‚   β”œβ”€β”€ resources.js    # Resource endpoints
β”‚   β”‚   β”œβ”€β”€ courses.js      # Course endpoints
β”‚   β”‚   β”œβ”€β”€ users.js        # User endpoints
β”‚   β”‚   └── newsletter.js   # Newsletter endpoints
β”‚   └── config/
β”‚       └── seedData.js     # Initial data seeding
└── README.md               # Project documentation

πŸš€ Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • MongoDB (local installation or MongoDB Atlas)
  • Git

Installation

  1. Clone the repository

    git clone <repository-url>
    cd "DevOps Blog"
  2. Install backend dependencies

    cd backend
    npm install
  3. Set up environment variables

    cp .env.example .env
    # Edit .env file with your configuration
  4. Start MongoDB

    • For local MongoDB: mongod
    • Or use MongoDB Atlas (cloud)
  5. Start the backend server

    npm run dev
    # or for production
    npm start
  6. Open the application

    • Navigate to http://localhost:3000
    • The frontend is served by the backend server

Environment Variables

Create a .env file in the backend directory:

NODE_ENV=development
PORT=3000
MONGODB_URI=mongodb://localhost:27017/devops-bootcamp
JWT_SECRET=your-super-secret-jwt-key

πŸ“š API Documentation

Resources API

  • GET /api/resources - Get all resources (with filtering and pagination)
  • GET /api/resources/featured - Get featured resources
  • GET /api/resources/:id - Get single resource
  • POST /api/resources - Create new resource
  • PUT /api/resources/:id/like - Like a resource

Courses API

  • GET /api/courses - Get all courses (with filtering and pagination)
  • GET /api/courses/featured - Get featured courses
  • GET /api/courses/:id - Get single course
  • POST /api/courses/:id/enroll - Enroll in course
  • POST /api/courses/:id/reviews - Add course review

Users API

  • POST /api/users/register - Register new user
  • POST /api/users/login - User login
  • GET /api/users/profile/:id - Get user profile
  • PUT /api/users/profile/:id - Update user profile

Newsletter API

  • POST /api/newsletter/subscribe - Subscribe to newsletter
  • POST /api/newsletter/unsubscribe - Unsubscribe from newsletter
  • GET /api/newsletter/stats - Get newsletter statistics

🎨 Design System

Color Palette

  • Primary: #667eea (Blue)
  • Secondary: #764ba2 (Purple)
  • Accent: #f093fb (Pink)
  • Success: #10b981 (Green)
  • Warning: #f59e0b (Orange)
  • Error: #ef4444 (Red)

Typography

  • Font Family: Inter (Google Fonts)
  • Headings: 700 weight
  • Body: 400 weight
  • UI Elements: 500-600 weight

Components

  • Buttons: Rounded corners, gradient backgrounds, hover effects
  • Cards: Shadow elevation, hover animations
  • Forms: Clean inputs with validation states
  • Navigation: Sticky header with blur backdrop

🚦 Development Scripts

# Backend development with auto-reload
npm run dev

# Start production server
npm start

# Run tests (when implemented)
npm test

# Seed database with initial data
npm run seed

πŸ“± Responsive Design

The website is fully responsive with breakpoints:

  • Desktop: 1200px and above
  • Tablet: 768px - 1199px
  • Mobile: Below 768px

πŸ”’ Security Features

  • Helmet: Security headers
  • Rate Limiting: API request throttling
  • Input Validation: Comprehensive validation using express-validator
  • CORS: Configured cross-origin requests
  • Password Hashing: Secure password storage with bcrypt

🎯 Future Enhancements

Phase 1 (Immediate)

  • User authentication with JWT
  • File upload for resources
  • Advanced search functionality
  • Email notifications

Phase 2 (Short-term)

  • Payment integration for courses
  • Video streaming for course content
  • Discussion forums
  • Mobile app

Phase 3 (Long-term)

  • AI-powered recommendations
  • Live streaming capabilities
  • Advanced analytics dashboard
  • Multi-language support

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Coding Standards

  • Use ESLint for JavaScript linting
  • Follow semantic commit messages
  • Write descriptive variable and function names
  • Add comments for complex logic
  • Ensure responsive design for all new features

πŸ“„ License

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

πŸ‘₯ Authors

  • DevOps Bootcamp Team - Initial work and design
  • Community Contributors - Feature enhancements and bug fixes

πŸ“ž Support

For support and questions:

πŸ™ Acknowledgments

  • Font Awesome for the amazing icons
  • Google Fonts for typography
  • MongoDB for the robust database
  • Express.js community for the excellent framework
  • All the open-source contributors who make projects like this possible

Happy Learning! πŸš€

About

Platform for downloading DevOps learning materials

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors