Skip to content

An (purposefully) over-engineered piece of code intended for applying technologies and patterns in order to add to my tech stack skill set while attempting to solve problems I came across in my hobby!

License

Notifications You must be signed in to change notification settings

aledefreitas/wow-recruitment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

83 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

WoW Recruitment BackEnd

Important

This project uses docker images from aledefreitas/php-nginx-docker-dev! Those were originated from this repository, and "refactored" into its own repository for better maintainability.

An (purposefully) over-engineered piece of code intended for applying technologies and patterns in order add to my tech stack skill set while attempting to solve problems I came across in my hobby!

Since I've been playing World of Warcraft as a hobby for quite some time (more than I'm willing to admit ๐Ÿ˜†) and I'm a guild - and raid - leader, I have the constant need to recruit new players to fill in our team's roster. While there are countless tools to manage guild rosters, I decided it would be a great project to develop as a way to train my skills and explore technologies I would not be able to use in any of the projects I'm currently working on, while applying those to a real world problem.

By creating this project and tackling the problems I face in my hobby and recreating some of the existing solutions adding my personal touch, I hope to both experiment with technologies I've already used, been wanting to use, or have only heard of AND showcase my expertise (or lack thereof ๐Ÿ˜†) in Web Development, System Design and problem solving.

Note

This project is focused in being a way to keep myself up-to-date to the state of PHP Web Development and Best Practices in 2024 while also exploring some new exciting technologies :)

There are already solutions for this problem out there, and given the scale and scope of the market for those solutions it might not necessarily need the over-engineering (hopefully) applied to this project. The purpose of this project is NOT to Keep It Simple, but rather apply technologies to study them and feel comfortable using them on professional projects.

Summary

Project Main Goals

Warning

This might never - and probably will never - actually be deployed into production

It SHOULD accomplish the following:

Tech Stack Wishlist

Caution

These are subject to change throughout the development of this project

Application Architecture

  • Domain Driven Design
  • Hexagonal Architecture
  • CQRS

Databases

In-Memory Store

Language

Framework

Standards Compliance

Message Broker

Automation

Debugging

CI/CD

Workflow

  • Gitflow

Development Workflow Environment

  • Kibana
  • Mongo Express

Requirements

Installation

Simply run the following command in your terminal

Development

$ task up-dev

Staging

$ task up-staging

Production

$ task up-prod

Documentation

You can see the documentation here!

Please, bear in mind that this will evolve alongside the project, so it might be pretty incomplete by the time you see it ๐Ÿ˜ฆ

Running Tests

Unit Tests

$ task ci:test-unit

Integration Tests

$ task ci:test-integration

Run all tests

$ task ci:test

About

An (purposefully) over-engineered piece of code intended for applying technologies and patterns in order to add to my tech stack skill set while attempting to solve problems I came across in my hobby!

Resources

License

Stars

Watchers

Forks