Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DMP 2024]: Specification Based Microservice Generation #93

Open
techsavvyash opened this issue Apr 17, 2024 · 7 comments
Open

[DMP 2024]: Specification Based Microservice Generation #93

techsavvyash opened this issue Apr 17, 2024 · 7 comments
Assignees

Comments

@techsavvyash
Copy link
Member

techsavvyash commented Apr 17, 2024

Spec Based Microservice Generation

Description

Stencil is build keeping developer workflows and developer experience in mind, with the goal of reducing redundant efforts in setting up tooling and commonly used functionality which are used across services.
The ultimate (atleast for now) step towards it could be to just pass in a specification/config file to a parser and get the code for the entire service setup back to you. With stencil is this possible, the main aim is to consolidate all the features stencil presently has into a single compiler step which parses through a configuration file conforming to a particular specification and generates the code for your service which you can hack around to make perfect. The next part of this would be to train a LLM to generate that service for us given some prompt.

Goals

  1. Specification for the stencil parser configuration.
  2. Parser for the configuration file.
  3. Compiler to compile the instructions from the config and generate code
  4. Fine tuned LLM model which can generate the configuration file given specific prompts.
  5. A system connecting all of these end to end.

Product Name

Stencil

Organisation Name

SamagraX

Tech Skills Needed

Must Haves - TypeScript, NestJS, Backend Development
Good to have - Prisma, Testing, Prompt Engineering, Basic understanding of how to use LLMs

Mentors

@techsavvyash

Complexity

Hard

Implementation Details

Stencil is a framework (collection of components) build on top of the NestJS framework.

Domain

Open Source Library

Category

Backend

Sub Category

Frameworks, Tools

@techsavvyash techsavvyash changed the title Spec Based Generation [C4GT: DMP] Specification Based Microservice Generation Apr 19, 2024
@ChakshuGautam ChakshuGautam changed the title [C4GT: DMP] Specification Based Microservice Generation [DMP 2024]: Specification Based Microservice Generation Apr 20, 2024
@J0SAL
Copy link

J0SAL commented Apr 22, 2024

Hey @techsavvyash, I am interested in working on the project. Can you provide a sample input (config file) and the expected output (code file), which is expected by the parser?

@AbhimanyuSamagra
Copy link

Do not ask process related questions about how to apply and who to contact in the above ticket. The only questions allowed are about technical aspects of the project itself. If you want help with the process, you can refer instructions listed on Unstop and any further queries can be taken up on our Discord channel titled DMP queries. Here's a Video Tutorial on how to submit a proposal for a project.

@Jugrajsinghbali
Copy link

Dear @techsavvyash,

I'm Jugraj Singh, a developer enthusiastic about improving developer workflows. Stencil's goal of simplifying service setup by parsing a config file to generate code has caught my attention.

I'm eager to contribute to Stencil by consolidating its features into a single compiler step. I'm excited to explore how I can contribute effectively to Stencil's innovative approach.

Looking forward to potentially collaborating with you all.

@AYSTRONGIRP
Copy link

AYSTRONGIRP commented May 5, 2024

Respected sir ,
I am Umang Jaiswal , a pre-final student at IIIT kota .
My tech- stack is MERN , with Nestjs and Prisma .
I have contributed in my internship for the backend on Nestjs using Postgres with Prisma .

I am interested in contributing to this project .

Name - Umang Jaiswal
email - umang.jaiswal2003@gmail.com
linkedin - https://www.linkedin.com/in/umang-jaiswal-b96b542a2/

@AYSTRONGIRP
Copy link

please provide any slack or discord for this specific project .

@techsavvyash techsavvyash pinned this issue Jun 14, 2024
@techsavvyash techsavvyash unpinned this issue Jun 14, 2024
@techsavvyash
Copy link
Member Author

techsavvyash commented Jun 25, 2024

Weekly Goals

Week 1:

  • Plan out what needs to be done
  • Get accustomed to Stencil and it's core repos

Week 2:

  • Define the stencil spec
  • Perfect the basic compiler for the spec

Week 3:

  • Implement docker command

Week 4:

  • Implement --path flag under docker command
  • Update Response Format Interceptor

Week 5:

  • Implement crud command
  • Update ResponseTime Interceptor

Week 6:

  • Implement swagger command

Week 7:

  • Finish existing pdf generation service

@Savio629 Savio629 self-assigned this Jun 25, 2024
@Savio629
Copy link
Collaborator

Savio629 commented Jun 25, 2024

Weekly Learnings & Updates

Week 1

  • Learned the important concepts of Nest.
  • Got to know how stencil cli and schematics communicate with each other
  • Fixed and resolved some issues and bugs

Week 2

Week 3

Week 4

Week 5

Week 6

Week 7

  • Updated all the commands with documentation and test suites.
  • Researched regarding the next milestone.
  • Working on pdf service

Week 8

  • Fixed existing issues
  • Updated open pr on based on reviews and feedback
  • Updated Geoip interceptor with support of list of countries along with list of cities, coordinates and geofences fix: GeoIP Interceptor + Test Cases  #137

Week 9

Took a break this week for a college trip.

Week 10

Took a break for mid-sem exams

Week 11

Week 12

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants