DEV Community

Cover image for Web starter with CI and AWS deployment (React NestJS Docker)
Leonidas Costas
Leonidas Costas

Posted on • Updated on • Originally published at fast-modular-project.com

Web starter with CI and AWS deployment (React NestJS Docker)

In this article I will share with you a starter that has been pretty useful for some of my web projects :)

What does it bring ?

  1. an isolated docker environment with a local frontend / backend / database launchable in one command
  2. a project structure with an authentication
  3. a foundation on which features can be added
  4. a deployment guide to AWS infrastructure
  5. continuous integration with Github Actions
  6. last but not least, almost 30 hours work saved :')

How does it work ?

The frontend, backend, and database are wrapped in docker to avoid any issue with OS or local configurations. You can fire up everything with one command : docker-compose up.

Frontend and backend are defining an architecture and a naming conventions to ease the comprehension of the starter and the share of feature around it.

Add features on it ?

Some modules are also available to be added on top of it. You can use them and plug it, they are fully adapted to the starter structure :)

Here is some available modules for this starter :

  1. multilingual with Phrase
  2. Payment system with Stripe
  3. Webcam with React
  4. Websocket with AWS API Gateway
  5. Location by ip
  6. ...

All module are listed and available for download here. There is much more module to be created, so feel free to create your own and share it with the community :D

Deployment and continuous integration ?

For the deployment steps, you'll have to create a RDS database, an Elastic Beanstalks, a S3 bucket and a CloudFront instance.

For the continuous integration, you'll have to edit
.github/workflows/main.yml to set up :

  1. branch name on which you want to trigger continuous integration (generally master or main)
  2. name of your S3 bucket
  3. name of your Elastic Beanstalk

Add your AWS credentials as secrets to your GitHub repository (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) .

Conclusion

I hope this starter will help you starting your future project!
If you have any question I'll be present in the comment section !

The platform sharing the starter and it's modules :
Fast Modular Project

Do not hesitate to pin and like if you appreciated the article ❤️

Top comments (0)