This application was created to display stock prices of companies through the Yahoo Finance API. It is built with Angular for the UI & Express.js for the API.
- TypeScript - For type safety and other awesome features not native to vanilla JavaScript.
- Express - Micro-framework for setting up routes, middlewares, controllers.
- Angular - Component base front-end framework.
- Prime NG - Component library for Angular.
- Initialize frontend application
- Initialize backend application
- Add Jest to frontend application
- Add Cypress to frontend application
- Add dependencies for the backend(Express, Jest, Nodemon, Typescript)
- Add & configure HTTP server for the backend
- Add Jest to backend application
- Add ORM for database abstraction & querying
- Add database seeders for initial data to be stored
- Add dependency injection for the backend services & repositories
- Add paginated response for the stock prices
- Add API endpoints for fetching the stock prices
- Add & configure linting in the frontend
- Add typefaces & icons for the frontend
- Add component library
- Add routing for the frontend application
- Add responsive table with pagination and sample data
- Add services & interceptors for pulling stock prices
- Add searchable select for querying securities list
- Add project setup instructions
To begin running the project, first in the backend/ folder copy the example variables into a .env
file with command: cp .env.example .env
. You will then need to modify the following environment variables in the .env
file for your API to run:
-
NODE_ENV
-production
ordevelopment
-
CLIENT_BASE_URL
- base url for the front-end client application -
DATABASE_*
- variables for the mysql database
Go to the frontend/ directory
cd frontend
Install dependencies
npm install
Start the development server
npm start
Go to the backend/ directory
cd backend
Install dependencies
npm install
Run database migrations
npm run db:migrate
Run database seeders to add initial data
npm run db:seed
Start the development server
npm start