Skip to content

taking a developed full stack application and deploying it to a cloud service provider so that it is available to customers. This application contains the main components of a 3-tier full stack application (UI, API, and Database).

Notifications You must be signed in to change notification settings

abdrahmansoltan/Hosting-a-Full-Stack-Application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hosting a Full Stack Application

node express TypeScript Jasmine Postgresql AWS Circle-CI

Hosting a Full Stack Application

View Demo · Report Bug

Table of Contents
  1. About The Project
  2. Getting Started
  3. Screenshots
  4. CI/CD
  5. Contributing
  6. Acknowledgments

About The Project

In this project it's required 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.

By Taking a developed full stack application and deploying it to a cloud service provider so that it is available to customers. This application contains the main components of a 3-tier full stack application (UI, API, and Database).

AWS Infrastructure Description

ARC

(back to top)

Built With

  • Typescript
  • Node.js
  • Epress framework
  • Angular
  • postgreSQL
  • AWS
  • Circle-CI

(back to top)


Getting Started

This project require some prequesites and dependenscies to be installed, you can find the instructions below

To get a local copy, follow these simple steps :

Installation

installing Locally

  1. Clone the repo

    git clone https://github.com/abdrahmansoltan/Hosting-a-Full-Stack-Application.git
  2. go to project folder

    cd Hosting-a-Full-Stack-Application
  3. install dependenscies

    npm run frontend:install
    npm run backend:install
  4. create databases

    • connect to the default postgres database as the server's root user

      psql -U postgres
    • In psql run the following to create a user

      CREATE USER project_user WITH PASSWORD 'password123';
    • In psql run the following to create the dev database

      CREATE DATABASE udagram;
    • Connect to the databases and grant all privileges

      \c udagram;
      GRANT ALL PRIVILEGES ON DATABASE udagram TO project_user;
  5. Enviromental Variables Set up

    • Here are the environmental variables that needs to be set in a .env file. This is the default setting that I used for development, but you can change it to what works for you.
      POSTGRES_HOST="localhost"
      DB_PORT=5432
      PORT=8080
      POSTGRES_USERNAME= "postgres"
      POSTGRES_PASSHORD= "12345"
      RDS_DIALECT="postgres"
      POSTGRES_DB="udagram"
      AWS_REGION=""
      AWS_PROFILE=""
      AWS_BUCKET=""
      URL="http://localhost"
      AWS_ACCESS_KEY_ID=""
      AWS_SECRET_ACCESS_KEY=""
      JWT_SECRET="hello-from-other-side"
    
  6. Run development server

    cd udagram-api npm run dev
  • or: Run frontend server

    cd udagram-frontend npm start

(back to top)


Ports & EndPoints

Ports

  • Server runs on port 8080
  • Database on port 5432

Screenshots

Running Locally

local

Running on S3

App is running globally on http://abdelrahmansoltan8568954.s3-website-us-east-1.amazonaws.com/ apprunning


CI/CD

CircleCI

cicd


Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Acknowledgments

About

taking a developed full stack application and deploying it to a cloud service provider so that it is available to customers. This application contains the main components of a 3-tier full stack application (UI, API, and Database).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published