8000 GitHub - Alstrasz/forms-gen-microservices
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Alstrasz/forms-gen-microservices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
< 8000 div class="Skeleton Skeleton--text"> 
 
 
 
 
 
 
 
 
 

Repository files navigation

forms-gen-microservices

About

Learning project for getting familiar with microservices.

This is cut version of google forms

Workflow:

  • User can create forms on the editor page
    • Each form assigned unique url
    • For each created form discord text channel created
  • Forms can be filled in an editor or on separate page, unique for each form
    • For each submitted response, message sent to corresponding discord channel
  • User can look at submitted responses on the editor page

Project broken into several pieces:

Each service has it's own README with a bit more info

Used technologies

Backend:

  • NodeJS
  • NestJS
  • RabbitMQ
  • Postgres
  • Prisma
  • DiscordJS
  • Swagger
  • Lodash

Frontend:

  • Angular
  • Angular Material UI
  • Axios

How to run

For dev

Using docker compose:

  • docker-compose up

Backend available at localhost:3000

Frontend available at localhost:4200

Swagger available at localhost:3000/api

Postgres available at localhost:5432

RabbitMQ managment available at localhost:15672

Backend and frontend launched in hot realod mode, so all changes to codebase will be applied shortly after saving

Without docker compose

I haven't done that but you could try running several npm run start*:dev for each service. Dont forget to start rabbitmq and postgres and pass proper settings.

For prod

  • sudo docker-compose -f ./docker-compose.prod.yml up

You can consider adjusting some env variables to suit your needs

Ui screenshots

Editor - starting page

Alt text

Editor - form preview

Alt text

Editor - form creation

Alt text

Editor - response viewer

Alt text

Seperate page for filling forms

Alt text

Ways to improve

  • Deleting forms
  • Updating forms (questinable). What to do with responses then? Delete?
  • Since forms rarely changed, caching can be added, reducing number of requests to db service
  • Authentication service
570B

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0