Cryptocurrency app is an application that allows tracking cryptocurrency data and provides access to the latest news from the world of cryptocurrencies. With this app, users can easily monitor their favorite cryptocurrencies, view price charts, check rankings, and stay up to date with the most important information from the world of cryptocurrencies.
-
Registration and login
The app enables users to register and log in to their accounts. After logging in, they have access to personalized features and data.
-
Favorite cryptocurrencies
After logging in, users can add their favorite cryptocurrencies to a favorites list. These selected cryptocurrencies will be displayed on the main dashboard, allowing for quick and easy tracking of their prices and statistics.
-
Price charts
The app provides interactive price charts for the selected cryptocurrency. Users can view price history over different time periods, analyze market trends, and make informed investment decisions.
-
Cryptocurrency rankings
The app provides cryptocurrency rankings based on their market positions. Users can see which cryptocurrencies have the highest market capitalization and are most significant in the world of cryptocurrencies.
-
Cryptocurrency news
The app gathers the latest news and information from the world of cryptocurrencies. Users can browse various articles, market analyses, and updates related to their favorite cryptocurrencies. This allows them to stay up to date and make informed investment decisions.
The application is fully responsive. It was designed and programmed in accordance with the mobile first principle. Below are screenshots of the desktop version:
![Screenshot 2023-05-26 at 21 06 02](https://private-user-images.githubusercontent.com/81325472/241532078-b11ef245-a477-44e6-95f0-d47f09c12dab.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ0ODI4MjIsIm5iZiI6MTcyNDQ4MjUyMiwicGF0aCI6Ii84MTMyNTQ3Mi8yNDE1MzIwNzgtYjExZWYyNDUtYTQ3Ny00NGU2LTk1ZjAtZDQ3ZjA5YzEyZGFiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI0VDA2NTUyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTgzMWIyMGUxNjhkMjlmOTg1YjNiNTM1MTA0NWNlNTI1NDRkNGI2NzcxNTc4ZTg0NmU1ODZlMjRjY2QxMjUxM2ImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.vs634k-WtA2jZ96wDHEt9y71Yjpahc09VVm69fNmcls)
![Screenshot 2023-05-26 at 21 26 57](https://private-user-images.githubusercontent.com/81325472/241533045-93acd4dc-3924-4906-9d6c-3b22ddd50789.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ0ODI4MjIsIm5iZiI6MTcyNDQ4MjUyMiwicGF0aCI6Ii84MTMyNTQ3Mi8yNDE1MzMwNDUtOTNhY2Q0ZGMtMzkyNC00OTA2LTlkNmMtM2IyMmRkZDUwNzg5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI0VDA2NTUyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWIxMjFhODQzNjkwOTdjYzc4YTJmMTAwNWRlM2M1YjhmZDFkM2I5YjlhYTFiMjcyNzcxZWU2MTFhZDEzYzZhNzMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.PwqsX5WlpT66fKuF6rIk0tn29E9mVtVQUuTNM78hxbU)
![Screenshot 2023-05-26 at 21 27 04](https://private-user-images.githubusercontent.com/81325472/241532094-89901fea-ef20-4f8d-b022-236e44c5334f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ0ODI4MjIsIm5iZiI6MTcyNDQ4MjUyMiwicGF0aCI6Ii84MTMyNTQ3Mi8yNDE1MzIwOTQtODk5MDFmZWEtZWYyMC00ZjhkLWIwMjItMjM2ZTQ0YzUzMzRmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI0VDA2NTUyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWZjYTE2ZWJjZTRkOTcxYzYyYWZjMWYzYzU3YTBiYzVjYWNhYzgwY2RjMTE1NWQ3N2Y1MzAzNDExZDU2ODEzNTgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.eT6iVX_acEar6vHp43IecWuxd1OjfA7U32H6-nUQw2I)
![Screenshot 2023-05-26 at 21 28 07](https://private-user-images.githubusercontent.com/81325472/241532349-ae987202-50bc-4c22-a974-e32406baa5fb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ0ODI4MjIsIm5iZiI6MTcyNDQ4MjUyMiwicGF0aCI6Ii84MTMyNTQ3Mi8yNDE1MzIzNDktYWU5ODcyMDItNTBiYy00YzIyLWE5NzQtZTMyNDA2YmFhNWZiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI0VDA2NTUyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQxMTQxMGM2NzY3NWQ0YWMxZjRhZWMwNzk2MTA5OTBmZGJmMjE2MmVmN2FmYjY0ZDU0MGQ1OTVkYjhkNDQ4OGImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.GruNKs5aDcAFZBsvEAOr-L0m5iZEcYE5If2uwFRw0tE)
![Screenshot 2023-05-26 at 21 27 21](https://private-user-images.githubusercontent.com/81325472/241532471-6c9f328c-2504-4618-b465-8b526fd7e043.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ0ODI4MjIsIm5iZiI6MTcyNDQ4MjUyMiwicGF0aCI6Ii84MTMyNTQ3Mi8yNDE1MzI0NzEtNmM5ZjMyOGMtMjUwNC00NjE4LWI0NjUtOGI1MjZmZDdlMDQzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI0VDA2NTUyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTZhOWUwYjZjODAxYjQ4ODAyMmUyZWIwYWY4NWQwZTA1ZmVhNTViNDI3YjU2YTE5NTNmOTdlNzZkNTk1ODk1NDQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.ToA5OR4I4T1hff0owh5E8vXK9kezwPh3NGDqcPYstn4)
![Screenshot 2023-05-26 at 21 27 34](https://private-user-images.githubusercontent.com/81325472/241532736-7788a7f2-68c0-435e-88e4-e171a12223ca.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ0ODI4MjIsIm5iZiI6MTcyNDQ4MjUyMiwicGF0aCI6Ii84MTMyNTQ3Mi8yNDE1MzI3MzYtNzc4OGE3ZjItNjhjMC00MzVlLTg4ZTQtZTE3MWExMjIyM2NhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI0VDA2NTUyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTM1OGU3NzU4YmNjZmRlZGNkYTIzNjA4ZTFhOWU0MjVkMTAzNGE2YmMyZjNkYTJkYTFmMzgzZmNhOGE0MTViMjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.gO_WMrp_idEBiYqHaRaenseZUWZND2ZeWjhHFwsdBrc)
![Screenshot 2023-05-26 at 21 27 42](https://private-user-images.githubusercontent.com/81325472/241532841-990414fc-7694-4f1e-9c0b-8699ccafbe5e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ0ODI4MjIsIm5iZiI6MTcyNDQ4MjUyMiwicGF0aCI6Ii84MTMyNTQ3Mi8yNDE1MzI4NDEtOTkwNDE0ZmMtNzY5NC00ZjFlLTljMGItODY5OWNjYWZiZTVlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI0VDA2NTUyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWYzZGZhMjViZGY0YTI0MWI1ZmFkOTM0OWJjYzFhMTljYjk1YTE4MjkwOTQwZjdhOTQ3YjhjODRlZWU0NDMzNDQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.e8vDtTsNVAlhNWtBufx_DaLfOgIYDfyAcI0-SLe7oME)
Frontend: React, TypeScript, Vite, SCSS, React Query, Context API
Backend: Nest.js, Typescript, MongoDB, Mongoose, JWT for authentication, GRPC for communication between microservices
-
Clone the repository
git clone https://github.com/kacperbylicki/cryptocurrency-viewer
-
Navigate to the project directory
cd cryptocurrency-viewer
-
Install Turbo
yarn global add turbo
-
Install and build the project dependencies using Turbo
yarn install && yarn build
-
Fill .env file with the required environment variables
cp .env.example .env
-
Build and run the Docker-Compose setup
docker-compose build && docker-compose up -d
You should now be able to access the frontend app at http://localhost:8080.
To run the tests, use the following command:
yarn test:ci