Categorygithub.com/ioet/ioet-lunch-n-learn-backend
modulepackage
0.0.0-20240919204426-269cc2164673
Repository: https://github.com/ioet/ioet-lunch-n-learn-backend.git
Documentation: pkg.go.dev

# README

Lunch & Learn App

šŸ“‹ Brief

The Lunch & Learn App is designed to facilitate informal learning sessions within organizations. It allows team members to organize, participate in, and track lunch & learn events, fostering a culture of continuous learning.

šŸ› ļø Backend Tech Stack

  • Languaje: Go
  • Framework: Gin
  • Database: Firebase Firestore
  • API: RESTful services using Gin
  • Version Control: Git

šŸ“‚ Project Structure

/
│
ā”œā”€ā”€ api/
│   ā”œā”€ā”€ config/
│   ā”œā”€ā”€ dtos/
│   ā”œā”€ā”€ events/
│   ā”œā”€ā”€ exception_handlers/
│   └── routers/
│       ā”œā”€ā”€ v1/
│       └── v2/
│
ā”œā”€ā”€ core/
│   ā”œā”€ā”€ src/
│   │   ā”œā”€ā”€ exceptions/
│   │   │   ā”œā”€ā”€ business/
│   │   │   └── repository/
│   │   ā”œā”€ā”€ orchestrators/
│   │   ā”œā”€ā”€ repositories/
│   │   ā”œā”€ā”€ use_cases/
│   │   └── models/
│   └── tests/
│
ā”œā”€ā”€ adapters/
│   ā”œā”€ā”€ src/
│   │   ā”œā”€ā”€ repositories/
│   └── tests/
│       └── use_cases/
ā”œā”€ā”€ factories
│   ā”œā”€ā”€ config/
│   ā”œā”€ā”€ orchestrators/
│   ā”œā”€ā”€ repositories/
│   └── use_cases/
└── infrastructure/

Based on the IOET Backend Standard

šŸš€ Endpoints

Health Check

  • GET /v1/health_check/ - To ping the API and verify the status.

User

  • GET /v1/user/ - To get all users.
  • GET /v1/user/:id - To get a user by id.
  • POST /v1/user/ - To create a user.
  • PUT /v1/user/house - To modify the user's house.
  • PUT /v1/user/points - To modify the user's points.

House

  • GET /v1/house/ - To get all houses.
  • GET /v1/house/:id - To get a house by id.
  • POST /v1/house/ - To create a house.

Lunch n Learn

  • GET /v1/lunch_n_learn/ - To get all lunch n learns.
  • GET /v1/lunch_n_learn/:id - To get a lunch n learn by id.
  • POST /v1/lunch_n_learn/ - To create a lunch n learn.
  • PUT /v1/lunch_n_learn/ - To update a lunch n learn info.
  • PUT /v1/lunch_n_learn/assistant - To add an assistant to a lunch n learn.
  • PUT /v1/lunch_n_learn/presenter - To add an presenter to a lunch n learn.

šŸ› ļø Setup and Installation

  1. Clone the repository:
git clone https://github.com/ioet/ioet-lunch-n-learn-backend.git

cd ioet-lunch-n-learn-backend
  1. Install Go dependencies:
go mod download
  1. Run the server:
go run main.go

šŸ›”ļø Security

The internal IOET Auth Service is used for authentication and authorization.

IMPORTANT: API routes are protected with middleware to ensure secure access.

šŸ¤ How to Contribute

  • Fork the repository.
  • Create a new feature branch (git checkout -b feature/YourFeatureName).
  • Commit your changes (git commit -m 'Add some feature').
  • Push to the branch (git push origin feature/YourFeatureName).
  • Open a Pull Request.

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
Package docs Code generated by swaggo/swag.
No description provided by the author