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

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# 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.