DEV Community

Cover image for 2 Weeks of Hacktoberfest, How is it going??
ZigRazor
ZigRazor

Posted on

2 Weeks of Hacktoberfest, How is it going??

Hacktoberfest: Maintainer Spotlight

Hi friends👋🏻,

I completed my Hacktoberfest Mission with 4 Pull Request ( 1 accepted and 3 pendings just for a bunch of hours ).

And you? How is it going? ( comment to tell me yours ).

I would remind you that I'm partecipating at Hacktoberfest mainly as a maintainer.

My main project, that partecipates for the second year to the Hacktoberfest, is the CXXGraph:

Header-Only C++ library for Graph Representation and Algorithms with a simple interface.

GitHub logo ZigRazor / CXXGraph

Header-Only C++ Library for Graph Representation and Algorithms

CXXGraph

DOI

DOI

codecov CodeFactor

GitHub license GitHub release Conan Center

Generic badge Generic badge Generic badge

Generic badge Generic badge

Introduction

CXXGraph is a comprehensive C++ library that manages graph algorithms. This header-only library serves as an alternative to the Boost Graph Library (BGL).

CXXGraph Website

We are Looking for

We are looking for:

  • A Web Developer for the development of the CXXGraph website. All documentation is currently hosted on this GitHub page.
  • Developers and Contributors to provide input. If you are new to the open-source world, we will guide you step by step!

If you are interested, please contact us at zigrazor@gmail.com or contribute to this project. We are waiting for you!

Table of Contents

Then I have some side projects someone that partecipate to the Hacktoberfest for the first time. The projects are in C++ and Python, but you can contribute also with documentation Pull Request or other things that gives values to the projects.
The project are the followings:

A C++ Library that give microservice framework ( Server / Client ) upon 0mq framework.

GitHub logo ZigRazor / CXXMicroService

A C++ Library that give microservice framework ( Server / Client ) upon 0mq framework

CXXMicroService

A C++ Library that give microservice framework ( Server / Client )

codecov CodeFactor

GitHub license GitHub release

LGTM Alerts LGTM Grade

Generic badge Generic badge Generic badge

Generic badge Generic badge

Introduction

CXXMicroService is a C++ library, that manages MicroServices, upon different Framework ( actually only 0mq is implemented).

We are Looking for...

We are looking for:

  • Site Developer for the development of the CXXMicroService site ( for the moment on GitHub Page );
  • Developers and Committers, also at first experience, we will guide you step by step to the open-source world!

If you are interested, please contact us at zigrazor@gmail.com or contribute to this project. We are waiting for you!

Roadmap

Completed Description Date of Completition
✔️ First Commit May 2, 2022
✔️ Introduce the basic Framework May 24, 2022
📝 Introduction of more complete Examples TBD
📝 Introduction of Orchestrator TBD
📝 Introduction of Unit Test Framework TBD
✔️ Introduction of basic CI/CD Jun 6, 2022
📝 Advanced CI/CD TBD
📝 First Beta Release

A Python implementation of simply configurable State Machines.

GitHub logo ZigRazor / PyStateMachine

Python State Machine

PyStateMachine

python Python State Machine

CodeFactor Codacy Badge

DeepSource DeepSource

Introduction

PyStateMachine is a Framework that support state machines in Python

Requirements

  • Python3

How to Run

How do we import the framework?

  1. Insure that Python3 is installed:

  2. Install the PyStateMachines framework

    • pip3 install PyStateMachines

Example

After framework is installed, import and create a small example. Create xml file from sample with the State machine states.

myStateMachine.xml

<?xml version="1.0"?>
<x:States xmlns:x="pystatemachine:sm">
    <State>
        <Name>State1</Name>
        <Event>
            <Name>ToState2</Name>
            <ToState>State2</ToState>
        </Event>
    </State>
    <State>
        <Name>State2</Name>
        <Event>
            <Name>ToState3</Name>
            <ToState>State3</ToState>
        </Event>
    </State>
    <State>
        <Name>State3</Name>
        <Event>
            <Name>ToState1</Name>
            <ToState>State1</ToState>
        </Event>
    </State>
    <Initial_State>State1</Initial_State>
</x:States>

Create Python Script to run state machine pyStateMachine.py

# importing necessary packages
from StateMachine import StateMachine

"""Test StateMachine"""
sm = StateMachine("myStateMachine.xml")
sm.LoadStateMachine()

# print initial state
print(sm.get_current_state())  # current_state == State1

sm.InjectEvent("ToState2")
print(sm.get_current_state())  # current_state == State2

sm.InjectEvent("ToState3")
print(sm.get_current_state())  # current_state == State3

sm.InjectEvent("ToState1")
print(sm.get_current_state())  # current_state == State1

run Python script to execute state machine

python pyStateMachine.py

pyStateMachineUnitTest.py

## Test Suite

A library in C++ to manage multi threading and parallel applications.

GitHub logo ZigRazor / MTL

Multi Thread Library

MTL (Multi Threading Library)

MTL_Logo

Contributors Forks Stargazers Issues GPL-3.0 License

Multi Threading Library is a set of utilities, easy and ready to use for common task in multi threading environment and development.

Roadmap

  • Thread Class
  • Thread Manager
  • Thread Pool
  • Task Class
  • Ordered Task
  • Task Flow
  • Complete Documentation
  • Doxygen Integration
  • First Beta Release
  • Test Framework
  • CI/CD Pipeline
  • First Stable Release
  • Thread Monitoring
  • ...

See the open issues for a full list of proposed features (and known issues).

Getting Started

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

Prerequisites

The following are required to get the project up and running.

Google Test

GoogleTest

git clone https://github.com/google/googletest.git  # Dowload the Google Test repository
cd googletest                                       # Main directory of the cloned repository.
mkdir -p build                                      # Create a directory to hold the build output.
cd build                                            # Move
Enter fullscreen mode Exit fullscreen mode

A C++ Library to which implements the structures and algorithms for finite automata, pushdown automata, and Turing machines.

GitHub logo ZigRazor / CXXAutomata

A C++ library for simulating automata and Turing machines

CXXAutomata

A C++ library for simulating automata and Turing machines

Required Graphviz ( sudo apt-get install graphviz )

Required GoogleTest ( sudo apt install libgtest-dev build-essential cmake cd /usr/src/googletest sudo cmake . sudo cmake --build . --target install )

Inspired by: automata-lib




You can visit the issues pages of each projects to see the open issues and you can ask me all you need to understand the project goal, the issue problem, or anything you need to contribute.

In the next days I will open some other issues on the projects, that can be important to improve the projects and give the possibility to get involved also to the novice of the Open Source.

For any info you can contact me at zigrazor@gmail.com
If you want open an issue on the projects feel free to do it.
All contributiuons are appreciated.

Happy Coding! 💻
and Happy Hacktoberfest!

Top comments (0)