greenlight

module
v0.0.0-...-cea68b3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 25, 2024 License: MIT

README ΒΆ

🟒 Greenlight | Still on going!

Greenlight is a comprehensive web application project that demonstrates clean and effective Go programming practices. It was designed as part of Let's Go Further, a book by Alex Edwards that focuses on building real-world applications using Go.


πŸš€ Overview

Greenlight is a learning-driven project aimed at developing a robust and scalable web application. This project integrates key concepts like user authentication, role-based access control, and the management of movies data, while adhering to Go's best practices.

πŸ› οΈ Tech Stack

  • Backend: Go (Golang)
  • Database: PostgreSQL
  • Authentication: Secure password hashing and role-based access control with JWT
  • Architecture: Modular and scalable design using layered architecture
  • REST API: Exposing JSON-based endpoints for easy integration

🎯 Features

  • User Authentication: Secure user registration, login, and session management.
  • Role-Based Access Control (RBAC): Different roles to manage access and permissions.
  • CRUD Operations: Perform Create, Read, Update, and Delete operations on movie data.
  • Validation: Strong input validation to ensure data integrity.
  • Secure Practices: Built-in password hashing, data validation, and secure headers.

πŸ“š Learning Outcomes

The Greenlight project is an excellent opportunity to:

  • Gain hands-on experience with Go’s built-in web development tools.
  • Learn how to handle HTTP requests, manage routing, and work with middleware.
  • Understand how to structure large Go applications for scalability and maintainability.
  • Work with PostgreSQL in Go to manage data persistence.
  • Implement secure and scalable user authentication and authorization systems.

πŸ“¦ Installation & Setup

  1. Clone the repository:

    git clone https://github.com/your-username/greenlight.git
    
    
  2. Install Go dependencies:

    go mod tidy
    
    
  3. Set up the PostgreSQL database

  4. Run the application:

    go run ./cmd/api
    

Directories ΒΆ

Path Synopsis
cmd
api
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL