Welcome to codespirals, where the code spirals out of control!
About:
Codespirals is a small software company that attempts to create a solid foundation of code libraries and modules to build interesting and helpful projects on top of.
Libraries:
A codespirals module is a code library made for a specific purpose, which is usually described by the module's name and README.
Structure
Codespirals libraries usually contain anywhere from one to all of the following submodules, depending on size and scope:
Shared
Collections of interfaces that dictate the outline and behaviour of objects
Frontend
A set of classes and interfaces building upon the "Shared" package to facilitate the use of the module in a frontend application.
Backend
An as generically-as-possible implemented set of the interfaces from the "Shared" package to facilitate adding the module to a user's EF Core database and generally using it in backend code.
Design philosophy
- A module should be as self contained as possible. While some will certainly import other NuGet packages (as reinventing the wheel is rarely worth it), those external dependencies should be kept to a minimum.
- Modules must be designed and built with the thought of releasing them freely for anyone to use. Anything beyond that should be a "project" which implements the modules instead.
Current generic codespirals libraries:
- Base - A few basic interfaces that simplify some basic actions and classes. ☭🔑 Progress: -%
- Api - A set of extensions and code to streamline building an API. ☭🔑 Progress: 40%
- Users - Unified user handling for smaller projects. ☭🔑 Progress: 80%
- Search - A set of interfaces and extensions to facilitate searching through lists. ☭🔑 Progress: 99%
- Resources - A collection of frequently used items like currency, languages or countries ☭🔑 Progress: 99%
Codespirals solutions:
- Pay - Services to facilitate processing payments. ☭🔑 Progress: 60%
- Mail - A service to very easily implement mailing in any project. ☭🔑 Progress: 90%
- ApiCaller - A small service to standardize calling an API from code. ☭🔑 Progress: 95%
- Scheduler - A package to easily add a task scheduler to a project. ☭🔑 Progress: 80%
Projects these modules are used in:
Collabour
An application and website to find resources for and keep track of small to medium sized projects
-
Packages 🔓🔑
- Shared - The basic collection of classes and resources that will be returned by the API and used for display on the website Progress: 90%
- SDK - A .Net SDK to interact with the Collabour API Progress: 90%
- Mock - A very simple data mocker implementing the SDK to simulate API calls returning semi-randomly generated mock objects for testing purposes Progress: 90%
-
Frontend 🔓🔑
- Website - The main Collabour .Net website using the Collabour SDK Progress: 70%
- API - The REST API to get data of the Collabour application Progress: 60%
-
Backend 🔒
- Lib - A collection of services to call get and transform data in the database Progress: 80%
- DB - An EF Core / PostgreSQL database Progress: 90%
Youser
An application and website to store and retrieve global user information.
-
Frontend 🔒
- Api - An Api to interface with this application Progress: 60%
Backend 🔒
- Shared - A few resources, models and enums shared between all projects under this umbrella Progress: 60%
- Lib - A collection of services to call get and transform data in the database Progress: 60%
- DB - An EF Core / PostgreSQL database Progress: 80%
Misc
Symbols- ☭ - completly open source. free to fork, modify and use for anyone however they wish
- 🔓 - open source, but with an attribution licence
- 🔑 - private until fully tested and released
- 🔒 - private with no current plans to release publicly