Coder Social home page Coder Social logo

nd0067-c4-deployment-process-project-starter's Introduction

Hosting a Full-Stack Application

You can use you own project completed in previous courses or use the provided Udagram app for completing this final project.


In this project you will learn how to take a newly developed Full-Stack application built for a retailer and deploy it to a cloud service provider so that it is available to customers. You will use the aws console to start and configure the services the application needs such as a database to store product information and a web server allowing the site to be discovered by potential customers. You will modify your package.json scripts and replace hard coded secrets with environment variables in your code.

After the initial setup, you will learn to interact with the services you started on aws and will deploy manually the application a first time to it. As you get more familiar with the services and interact with them through a CLI, you will gradually understand all the moving parts.

You will then register for a free account on CircleCi and connect your Github account to it. Based on the manual steps used to deploy the app, you will write a config.yml file that will make the process reproducible in CircleCi. You will set up the process to be executed automatically based when code is pushed on the main Github branch.

The project will also include writing documentation and runbooks covering the operations of the deployment process. Those runbooks will serve as a way to communicate with future developers and anybody involved in diagnosing outages of the Full-Stack application.

Udagram

This application is provided to you as an alternative starter project if you do not wish to host your own code done in the previous courses of this nanodegree. The udagram application is a fairly simple application that includes all the major components of a Full-Stack web application.

Dependencies

- Node v14.15.1 (LTS) or more recent. While older versions can work it is advisable to keep node to latest LTS version

- npm 6.14.8 (LTS) or more recent, Yarn can work but was not tested for this project

- AWS CLI v2, v1 can work but was not tested for this project

- A RDS database running Postgres.

- A S3 bucket for hosting uploaded pictures.

Installation

Provision the necessary AWS services needed for running the application:

  1. In AWS, provision a publicly available RDS database running Postgres.
  2. In AWS, provision a s3 bucket for hosting the uploaded files.
  3. Export the ENV variables needed or use a package like dotnev/.
  4. From the root of the repo, navigate udagram-api folder cd starter/udagram-api to install the node_modules npm install. After installation is done start the api in dev mode with npm run dev.
  5. Without closing the terminal in step 1, navigate to the udagram-frontend cd starter/udagram-frontend to intall the node_modules npm install. After installation is done start the api in dev mode with npm run start.

Testing

This project contains two different test suite: unit tests and End-To-End tests(e2e). Follow these steps to run the tests.

  1. cd starter/udagram-frontend
  2. npm run test
  3. npm run e2e

There are no Unit test on the back-end

Unit Tests:

Unit tests are using the Jasmine Framework.

End to End Tests:

The e2e tests are using Protractor and Jasmine.

Built With

  • Angular - Single Page Application Framework
  • Node - Javascript Runtime
  • Express - Javascript API Framework

License

License

nd0067-c4-deployment-process-project-starter's People

Contributors

aabdulbasset avatar dependabot[bot] avatar dhadhazi avatar elshafeay avatar guibibeau avatar marcoterzologit avatar markwasfy00 avatar mostafa10s avatar sudkul avatar uanjali avatar ye-li-udacity avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

nd0067-c4-deployment-process-project-starter's Issues

front end npm i doesnt work

im getting the following error when running npm i on the cloned repo....

'Log files:
C:\Users\looks\AppData\Local\npm-cache_logs\2023-06-25T00_42_52_971Z-debug-0.log

npm resolution error report

While resolving: @angular/[email protected]
Found: @angular/[email protected]
node_modules/@angular/core
@angular/core@"^8.2.14" from the root project
peer @angular/core@"8.2.14" from @angular/[email protected]
node_modules/@angular/common
@angular/common@"^8.2.14" from the root project
peer @angular/common@"8.2.14" from @angular/[email protected]
node_modules/@angular/forms
@angular/forms@"^8.2.14" from the root project
peer @angular/common@"8.2.14" from @angular/[email protected]
node_modules/@angular/platform-browser
@angular/platform-browser@"^8.2.14" from the root project
peer @angular/platform-browser@"8.2.14" from @angular/[email protected]
node_modules/@angular/forms
@angular/forms@"^8.2.14" from the root project
peer @angular/platform-browser@"8.2.14" from @angular/[email protected]
node_modules/@angular/platform-browser-dynamic
@angular/platform-browser-dynamic@"^8.2.14" from the root project
peer @angular/platform-browser@"8.2.14" from @angular/[email protected]
node_modules/@angular/router
@angular/router@"^8.2.14" from the root project
peer @angular/common@"8.2.14" from @angular/[email protected]
node_modules/@angular/platform-browser-dynamic
@angular/platform-browser-dynamic@"^8.2.14" from the root project
peer @angular/common@"8.2.14" from @angular/[email protected]
node_modules/@angular/router
@angular/router@"^8.2.14" from the root project
peer @angular/core@"8.2.14" from @angular/[email protected]
node_modules/@angular/forms
@angular/forms@"^8.2.14" from the root project
peer @angular/core@"8.2.14" from @angular/[email protected]
node_modules/@angular/platform-browser
@angular/platform-browser@"^8.2.14" from the root project
peer @angular/platform-browser@"8.2.14" from @angular/[email protected]
node_modules/@angular/forms
@angular/forms@"^8.2.14" from the root project
peer @angular/platform-browser@"8.2.14" from @angular/[email protected]
node_modules/@angular/platform-browser-dynamic
@angular/platform-browser-dynamic@"^8.2.14" from the root project
peer @angular/platform-browser@"8.2.14" from @angular/[email protected]
node_modules/@angular/router
@angular/router@"^8.2.14" from the root project
peer @angular/core@"8.2.14" from @angular/[email protected]
node_modules/@angular/platform-browser-dynamic
@angular/platform-browser-dynamic@"^8.2.14" from the root project
peer @angular/core@"8.2.14" from @angular/[email protected]
node_modules/@angular/router
@angular/router@"^8.2.14" from the root project

Could not resolve dependency:
peer @angular/core@"7.2.16" from @angular/[email protected]
node_modules/@angular/http
@angular/http@"^7.2.16" from the root project

Conflicting peer dependency: @angular/[email protected]
node_modules/@angular/core
peer @angular/core@"7.2.16" from @angular/[email protected]
node_modules/@angular/http
@angular/http@"^7.2.16" from the root project

Fix the upstream dependency conflict, or retry
this command with --force or --legacy-peer-deps
to accept an incorrect (and potentially broken) dependency resolution.

cannot find module 'v6/Model'

every time I install node_modules i get alot of valuabraility issues , so i had to clean cache & delete package.lock.json , node_modules , restart "npm install" and then i get this error
Screenshot 2022-09-23 082304

tried using node 14.15.1 and changing operating system but still getting the same error

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.