- Frontend: React, TypeScript, Material UI, Socket.io, Jest, React Testing Library.
- Backend : Nestjs, TypeScript, Event-emitter, Mongoose, websockets.
- Database: MongoDB
- Download and Install MongoDB on your local machine.
- Inside the
backend
directory, runnpm install
to install the backend dependencies. - Obtain a BACKEND_URL_ACCESS_KEY by creating an account on https://coinlayer.com/ a real-time crypto currency exchange api.
- Create a
.env
file underbackend
directory and set the following environment variables:
BACKEND_URL=http://api.coinlayer.com/api
BACKEND_URL_ACCESS_KEY=522df20f7bc454382c04e7f9f042b7ae
DATABASE_URL=mongodb://127.0.0.1:27017/cryptocurrency
Start the nestjs server using npm start
. The server will start on http://localhost:3001
Now that the nestjs server is running, bootstrap the frontend:
- Inside the
frontend
directory, runnpm install
to install the frontend dependencies. - Create a
.env
file underfrontend
directory and set the following environment variables:
REACT_APP_BACKEND_URL=http://localhost:3001
- Start the frontend dev server using
npm start
. The server will start on http://localhost:3000
- Obtain a BACKEND_URL_ACCESS_KEY by creating an account on https://coinlayer.com/ a real-time crypto currency exchange api.
- Update the docker-compose.yml file in the root of the project and replace BACKEND_URL_ACCESS_KEY with the obtained key.
- In the root of the project run
docker-compose up --build
. The backend will start running on port 3001 and frontend on port 3000. The application can be accessed on http://localhost:3000
Frontend:
Thanks for your time :)