This is the front-end part of the Spring project. This project is a course project of the course Software Engineering offered in 2019 Fall Semester in NYU Shanghai.
Framework: TypeScript + React
Stylesheet: Less
State management: Mobx
Bundler: Webpack
Test: Jest(unit test) + Puppeteer(e2e test)
Package manager: yarn
Before start, some packages are required to be installed globally:
git clone https://github.com/DaKoala/spring-frontend.git
cd spring-frontend
yarn # Install dependencies
yarn dev
yarn build
yarn lint
yarn clean
index.tsx
Main entrance of the projectApp.tsx
The root componentassets
Static files (images, audio files, video files)biz-components
Business components (These components have the business logic integrated and can use the global store)components
General components (These components do not require specific context and cannot use the global store)pages
Page components (These components each corresponds to a route)constants
Global constants such astype
,enum
,interface
and other constant variablesservice
Functions sending requests and parsing responsesstores
Global store to manage state, powered by Mobxstyles
Reusable stylesheetstest
Test scriptstypes
Global TypeScript type declarationutils
Utility functionsemail
Email template HTML file