# SolutionsShowcase
## Introduction
**Welcome to SolutionsShowcase!**
This repository serves as a centralized hub for my projects, each a showcase of unique solutions and insights. Dive into the world of technology, explore varied tech stacks, and discover the thought processes behind key solutions implemented in each project.
Feel free to explore, contribute, and let's build a community around innovative problem-solving!
## Contribution
If you're passionate about sharing your tech expertise, you're welcome to contribute to SolutionsShowcase! Here are two ways you can get involved:
- **Translations**: Help make the showcase accessible to a global audience by translating content into your native language. Feel free to submit a pull request with your translations.
- **Showcase Your Gems**: If you have exceptional tech solutions or intriguing topics, share them with the community! Add your projects and insights, and create a pull request to contribute to the showcase.
## Table of contents
| No | Project | Author |
| ------- | --- | ---
| 1 | [Checkinator](https://github.com/AlbertArakelyan/SolutionsShowcase/blob/master/#checkinator) | [AlbertArakelyan](https://github.com/AlbertArakelyan/SolutionsShowcase/blob/master/https://github.com/AlbertArakelyan)
| 2 | [Exoplanet Project](https://github.com/AlbertArakelyan/SolutionsShowcase/blob/master/#exoplanet-project) | [AlbertArakelyan](https://github.com/AlbertArakelyan/SolutionsShowcase/blob/master/https://github.com/AlbertArakelyan)
| 3 | [Post EF](https://github.com/AlbertArakelyan/SolutionsShowcase/blob/master/#post-ef) | [AlbertArakelyan](https://github.com/AlbertArakelyan/SolutionsShowcase/blob/master/https://github.com/AlbertArakelyan/post-ef)
---
## Checkinator
### About
A simple MERN app for testing Stripe with user and subscription management, for taking React architecture I used to know to the next level with advanced usage of unit tests and also for improving my knowledge in backend with help of nodejs as a frontend developer. Also created an admin panel for having a full control over the app.
### Repositories
- [checkinator-frontend](https://github.com/AlbertArakelyan/SolutionsShowcase/blob/master/https://github.com/AlbertArakelyan/checkinator-frontend)
- [checkinator-backend](https://github.com/AlbertArakelyan/SolutionsShowcase/blob/master/https://github.com/AlbertArakelyan/checkinator-backend)
- [checkinator-admin](https://github.com/AlbertArakelyan/SolutionsShowcase/blob/master/https://github.com/AlbertArakelyan/checkinator-admin)
### Tech Stack
Frontend |
Backend |
Admin Panel |
Other |
|
|
|
|
### Challenge
Create a MERN app being a **frontend** developer by using a new (for me) **React** architecture which is extended version of `View-Controller` pattern by adding a special _hook_ which separates logical part from _Container_ as well and also using unit and component testing which has been done very well due to this architecture. Also integrating Stripe on server and client side for the first time was also a challenge.
### Key Solutions
- Improved `View-Controller` architecture for `React`
- Dark mode implementation
- `JWT` based authentication with Email verification
- Class based controllers in `Express`
- `Vue 3` with `Vuetify` integration
### Attachments
- Folder structure example for the mentioned `React` architecture:
### Future Improvements
- Add `Storybook`
---
## Exoplanet Project
### About
Simple MERN with ready frontend part for focusing on Node.js by getting data from external sources, working with CSV files and parsing them and of course working with databases such as MongoDB with mongoose.
### Repository
[react-express-exoplanet-project](https://github.com/AlbertArakelyan/SolutionsShowcase/blob/master/https://github.com/AlbertArakelyan/react-express-exoplanet-project)
### Tech Stack
### Challenge
As the project has been done in scopes of a **Udemy** course so just passing and doing the project was a challenge by it self, and yet another challange was take as much as I can, interesting aproaches with Node.js, best practices, authentication, oauth client, socket.io, API testing and many other things that I learnt and of course need to practice more .
### Key Solutions
- Staticly running `React` production build from `Express`
- With one `package.json` file controlled apps (Frontend, Backend)
- Very fancy scientefic friendly UI
- Good set up **Cross origin** policies
- A very good Node.js architecture
- Very good expressed **Data Access Layer** in Node.js models
- API testing with `Supertest`
- Dockerized app (not in a deep level)
- Integarated **CI** with **Github Actions**
- Deployed with `SE3` (you can check [here](https://github.com/AlbertArakelyan/SolutionsShowcase/blob/master/http://16.171.161.83:8000/))
- Working with CSV files and parsing them
---
## Post EF
### About
A simple dockerized MERN app with basic authentication and CRUD.
### Repository
[post-ef](https://github.com/AlbertArakelyan/SolutionsShowcase/blob/master/https://github.com/AlbertArakelyan/post-ef)
### Tech Stack
### Challenge
Create a dockerized app using `nodejs` first times from scratch, also set up tailwind from scratch and create a modern UI with it.
### Key Solutions
- Well set up Tailwind
- Fully **dockerized** project