This repo introduces the Trading Exchange Collaborative Learning Program from the Prescription Free Academy of Web Development and Software Engineering.
It includes general information and documentation relating to the program, along with links to individual project repos.
Resources that apply to the program can go here. It’s not intended for code, but could be used in future for scripts that relate to the program in general.
It’s the starting point if you’re looking for something.
As clients are developed you’ll be able to use those to try out the system.
For now, or to work with backend layers directly, the best tool is an HTTP client such as:
Postman
Download Postman
Using Postman you can make HTTP requests and see the responses.
We intend to put together Postman collections as things start coming together.
For information on how to get an individual project set up and running on your local computer, see the README file for the project. If there isn’t one, consider getting involved and starting by writing one or improving what’s there.
You’re going to need an IDE or Integrated Development Environment. We highly recommend WebStorm from JetBrains. It’s just so much more fun and useful to use than VS Code. And now (November 2024) has a free version for non-commercial work, which all of this is classed as. The paid version is not an expensive subscription - choose “For Individual Use” if looking at pricing.
WebStorm from JetBrains
The JavaScript and TypeScript IDE
A ramble about system architecture can be found here.
The best thing to do is probably to book a session with Nigel to look at it and discuss it.
These are existing implementations of the layers. They can be put together locally to run a complete system.
Live instances will be set up in the future.
These are available client implementations.
Open Exchange Website Widget
GitHub - Prescription-Free-Academy/open-exchange-website-widget
These are available implementations of the application layer.
Open Exchange Data
GitHub - pecknigel/open-exchange-data
These are available implementations of the data access layer.
Open Exchange Connector
GitHub - pecknigel/open-exchange-connector
These are available implementations of data services.
Open Exchange Tickers
GitHub - pecknigel/open-exchange-tickers
There are several ways that you can get involved with the program in order to learn and gain experience. How much involvement you have is really up to you.
At the least, you can pick up one of the projects, run it on your computer and see how it works. Everything that you need to do that is openly available. You can modify the code, connect it with other projects/layers, and work with it however you like.
If you’d like more structure and guidance to your learning then mentoring sessions are available. These can be booked as you need them via the main website Prescription Free Academy.
The following ideas for clients that you could develop might be useful.
A web application for trading.
A website widget for displaying ticker prices.
Design and develop a comprehensive API for handling exchange trading.
Create a data service for piping real crypto price data.
Create a data service for generating fake trades that can be used as a basis for fake markets.
A data service based on an event bus that fires off price change events and amalgamates them to a live price list. Potentially with distributed services firing events. Potentially use Observables.
Create a service for centrally managing the list of symbols, so that data services can use that as a basis for the data that they generate. Include categories and other metadata.
Create a tool for debugging that consumes one or more data services and displays their data in real time on a web interface.
There are so many possibilities for practicing software development with a fake trading exchange system. See what you can come up with or discuss it with a mentor. Share and discuss your ideas in the comments.
It’s all a work in progress and designed for learning and working on and practicing with - rather than all being perfect when you find it.
Stay tuned! And keep coding!