MerryCrypto is a a cryptocurrency data aggregator with an inbuilt portfolio manager.
-
Homepage/Cryptocurrency Page - Top 30 cryptocurrencies by market cap. These can be sorted by price, 24hr change, 24hr volume and name.
-
Individual cryptocurrency page. The page includes:
- Coin stats in 3 currencies: USD, GBP and EUR.
- Price chart which displays the price change over a 24hr, 1w and 1m time period.
- Recent news articles related to the coin. The user can click on the button 'read more' to be redirected to the full article.
- Recent tweets regarding the coin.
-
Exchange Page - A page which has data on the top 100 exchanges including trust rank, trust score, 24hr volume and the year the exchange was established. The user can also be redirected to the exchange homepage.
-
News Page - This page includes all the most recent cryptocurrency news. The user can be redirected to the full news article
-
User account - user can register, login and sign out
-
Watchlist - users can favourite cryptocurrencies and view them in their watchlist
-
Portfolio - user can input their cryptocurrency purchases and view their profit and loss.
The application is written in Typescript. The frontend was created using Angular and the backend was created using NestJS. We also used a PostgreSQL database.
Go to api folder for Nest JS setup. Perform the following instructions in that folder
$ cd api
- Create Database in PSQL
$ createdb merrycrypto
# or run command below to specify psql username (if it is different to mac username)
$ createdb -U username merrycrypto
- Install packages
$ yarn install
- Set up env variables
$ touch development.env
Specify database username and password in development.env file
DB_PASSWORD=""
DB_USERNAME=""
- Specify JWT secret
$ touch src/config.ts
In src/config.ts provide secret for JSON Web Token, it can be any string.
export const JWT_SECRET = 'super-secret';
- Migrate tables
$ yarn db:migrate
- Setting up Crypto Compare API
code .env
CRYPTOCOMPARE_API_KEY=... <- Insert your own api key
$ cd frontend
$ yarn install
To run the app you need to start the server in the api and frontend folder. Once both servers are running visit http://localhost:4200/ to view the homepage.
$ cd api
$ yarn start
$ cd frontend
$ yarn start
Nest framework TypeScript starter repository.