Skip to content

joao-neves95/Exercises_Challenges_Courses

Repository files navigation

Exercises_Challenges_Courses

Courses, tutorials, exercises, challenges and experiments from various sources.


Rust

Projects

  • Redis Clone

    A Redis clone.
    Mostly done in pure vanilla Rust. It uses Tokio for multithreading.

  • irspt-rs

    A CLI app that interfaces with Portugal's Tax Authority website, in order to streamline the process of issuing invoices.
    It was made with Rust, thirtyfour (WebDriver client), sled (embedded database) and rkyv (zero-copy raw byte deserialization).

  • l

    An incomplete ls clone.

Courses/Tutorials


C# / .NET

Personal Projects

  • Qapo.DeFi.Bot

    A bot that interfaces with any EVM compatible blockchain (A.K.A. Web3) to farm and dump hyperinflationary tokens. Theres also the Solidity code: Qapo.Defi.Contracts.

  • ClassStudio:

    A code generation tool with a desktop GUI in Electron.NET and a backend in .NET 5.
    It is capable of generating multiple code conversions.

  • RegexQuery

    Regular expressions in english. Create regular expression in an idiomatic way.
    Made with C#, with object oriented APIs for .NET, JavaScript and Typescript.

  • CSharpToTypescript

    Fork maintenance of a C# to TypeScript converter, modified and adapted to migrate to .NET Standard 2.0 and compile with Visual Studio 2019.

  • Amplifir:

    A Twitter implementation in .NET Core 3+ and Angular 8+, using DRY, Onion Architecture/Clean Architecture and some Domain Driven Design principles.

  • Coinelity

    A binary options trading platform in C# ASP.NET, SignalR, Node.js, SQL Server and a frontend vanilla JavaScript with the MVC pattern, CCXT, eCharts.js.
    This was supposed to be my final year school project, however, as per advice of my school mentor, this project was dropped for not having enough graphic design.

  • Braces:

    (This project was abandoned and it's not finished)
    More than a code editor. It is a specification for code editors.
    Composed of multiple processes, each one with its functions, where the IPC is done through SignalR (WebSockets).
    The idea was to create a bridge between code editors/IDEs and plugins/extensions, in order for developers be able to use any plugin/extension from/in any code editor/IDE.
    It is made in C# .NET Core and the plugins/extension run in the PluginHost inside a Docker container for added security.

Courses

Tutorials

WPF


Node.js

Personal Projects

  • MergerJS

    Yet another simple cross-platform CLI build tool to bundle JavaScript files, with a custom file import syntax, ES8+ minification, auto build capabilities, and native OS notifications.

  • PortfolioOS

    A social network for programmers, that simulates an operative system with a fully interactive and dynamic desktop.
    Users can make their own apps and integrate them on the OS. It has a forum similar to 4chan, profiles/portfolios, a terminal with a working file system, and more.
    The frontend was made with pure vanilla JavaScript ES8+ following an MVC pattern.
    The server was made on Node.js and Express.js.
    The databese is PostgreSQL and it is normalized.

  • TODO List Web App (Just Another TODO List App)

  • TutorMatch

    A random and useless landing page.

Courses


JavaScript & TypeScript

  • js.system.collections:

    JavaScript collections inspired by .NET, that implements a list and multiple implementations of a dictionary with different complexities to choose from.

  • js.web.components:

    A vanilla JavaScript framework inspired by Angular, React and ASP.NET, with a custom templating engine compiler, component, and template view utils like for loops and if statements.

  • Algorithms This was my first attempt at doing algorithms, so they're pretty bad.

  • Snake Game

Courses/Tutorials


Unity (C#)

1 - Project 1

A simple Unity3D 2D platformer game, from internet tutorials, I did for a university class preparation.

2 - TheLostChests

A simple Unity3D 2D platformer game made for an university class project.


C++

  • Blockchain:

    A basic blockchain with block mining. It uses an hybrid Proof of Work algorithm that includes Argon2d hashing - RAM instensive; maximizes resistance to GPU and ASIC's cracking attacks - and a SHA256 PoW - GPU:
    SHA256( Argon2d( blockData ) + blockData.nounce )
    To find the block's nounces, the miner must do the two hashes until he reaches the desired target bits. The difficulty increments the Argon2d memory requirements.
    The persistence of blocks is made through LevelDB. Currently there is no server implementation nor transactions, the idea was to understand what Proof of Work is.

  • Algorithms

  • Data Structures


C


Solidity

  • Qapo.Defi.Contracts

    A set of contracts that Qapo.DeFi.Bot uses to farm and dump hyperinflationary tokens.

  • AutoCompounder

    This is the Solidity part of my personal auto-compounder, able to farm multiple types of strategies, as well as simple ones like farm and dump hyper-inflationary token farms.
    Done with a class structure to simplify strategy development, as well as to provide methods to work with DEX's compatible with Uniswap v2 and MasterShef, with room and flexibility to extend.
    This is just a copy from master of a private repository, so do not consider it as up to date.
    It is used in production.

  • LockedVault

    Some abstract base classes/contracts and libraries, all fattened on a single file, to serve as base for private DeFi strategies.

  • Vault

    A vault that represents multi-user share of the total value locked. All fattened.
    (WIP, not ready for production)

  • CryptoZombies

    The CryptoZombies Solidity tutorial made locally.


Academic Work (SQL, JavaScript, Unity)