Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/montymi/blog

Personal portfolio, blog, and virtual sandbox of @montymi πŸ› οΈ
https://github.com/montymi/blog

blog e2e husky mui portfolio pwa react reactrouter recoil threejs typescript vercel vite vue

Last synced: about 18 hours ago
JSON representation

Personal portfolio, blog, and virtual sandbox of @montymi πŸ› οΈ

Awesome Lists containing this project

README

        

[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![GPL License][license-shield]][license-url]




My Personal Sandbox on the Web

[![Analyses](https://github.com/montymi/blog/actions/workflows/analyses.yml/badge.svg)](https://github.com/montymi/blog/actions/workflows/analyses.yml)
[![E2E Tests](https://github.com/montymi/blog/actions/workflows/e2e.yml/badge.svg)](https://github.com/montymi/blog/actions/workflows/e2e.yml)


Created by: Michael Montanaro




View Demo
Β·
Report Bug
Β·
Request Feature


Table of Contents



  1. About The Project


  2. Getting Started

  3. Usage

  4. Structure

  5. Tasks

  6. Contributing

  7. License

  8. Contact

  9. Acknowledgments

## About The Project

"My Sandbox on the Web" is a personal portfolio that brings together my work as a software developer and academic. It serves as a central hub for showcasing my projects, research, and other contributions throughout my career.

This repository includes highlights of my software development journey, from personal projects to larger initiatives, as well as academic papers and research that have informed my approach to problem-solving and technology.

The goal is simple: to document and share my progress while providing a snapshot of my skills and experiences in one place. Whether you're here to explore my software projects or academic work, I hope you find something of interest.

Let me know if you'd like any further tweaks!


### Built With
[![React][reactLogo]][reactLogo-url]
[![TypeScript][tsLogo]][tsLogo-url]
[![Vite][viteLogo]][viteLogo-url]
[![PWA][pwaLogo]][pwaLogo-url]
[![Recoil][recoilLogo]][recoilLogo-url]
[![React Router][rrLogo]][rrLogo-url]
[![MUI][muiLogo]][muiLogo-url]
[![Vercel][vercelLogo]][vercelLogo-url]
[![Three.js][threejsLogo]][threejsLogo-url]

(back to top)

## Getting Started

For interacting with the demo: Check out the website!

For interacting with the code:
1. Clone and navigate into the repo with:
```bash
git clone https://github.com/montymi/blog.git
cd blog
```
2. Install dependencies
```bash
npm install
```
3. Run development server for testing
```bash
npm run dev
```
4. Build app for production server
```bash
npm run build
```

(back to top)

## Usage

"My Sandbox on the Web" is divided into three main sections: Discography, Library, and Activity, each offering a unique way to explore my journey as a developer and academic.

### Discography πŸŽ™οΈ
The Discography takes you on an audio-driven walkthrough of my projects, styled like a musical catalog. Each entry is crafted to give you deeper insights into the story behind the work:

- Singles: Bite-sized projects or experiments that showcase quick ideas or concepts.
- Episodes: Medium-scale projects, often part of a series, reflecting a deeper dive into specific topics.
- Albums: Comprehensive, larger-scale projects that represent significant milestones in my career.

### Library πŸ“š
The Library serves as a repository of my academic work and technical writing, including:

- Research papers and publications, complete with summaries and external links.
- Documentation and guides related to tools, frameworks, or methodologies I’ve explored.
- Notes and reflections that capture the thinking behind my work.
- It’s the ideal place for a more in-depth look at my technical expertise and academic contributions.

### Activity πŸ”
The Activity section is a live feed of what I’m currently working on, experimenting with, or learning about. Here, you’ll find:

- Updates on ongoing projects and experiments.
- Prototypes and beta versions of ideas in progress.
- Personal insights and reflections about my process and challenges.
- This section keeps things fresh and offers a behind-the-scenes look at my development as a creator and researcher.

### What's Next?
- Listen: Start with the Discography for an engaging overview of my work, guided by audio storytelling.
- Explore: Dive into the Library for a detailed understanding of my academic and technical background.
- Follow: Check the Activity feed for the latest updates and ideas I’m exploring.

(back to top)

## Structure

```
src
β”œβ”€β”€ components
β”‚ β”œβ”€β”€ Loading
β”‚ └── Meta
β”œβ”€β”€ config
β”‚ β”œβ”€β”€ index.ts
β”‚ β”œβ”€β”€ it-jokes.ts
β”‚ └── types.ts
β”œβ”€β”€ error-handling
β”‚ β”œβ”€β”€ fallbacks
β”‚ └── index.tsx
β”œβ”€β”€ hooks
β”‚ β”œβ”€β”€ useOrientation.ts
β”‚ └── useServiceWorkerNotifications.tsx
β”œβ”€β”€ pages
β”‚ β”œβ”€β”€ Activity
β”‚ β”œβ”€β”€ Discography
β”‚ β”œβ”€β”€ Library
β”‚ β”œβ”€β”€ NotFound
β”‚ └── Welcome
β”œβ”€β”€ routes
β”‚ β”œβ”€β”€ Pages
β”‚ β”œβ”€β”€ index.ts
β”‚ └── types.ts
β”œβ”€β”€ sections
β”‚ β”œβ”€β”€ Blog
β”‚ β”œβ”€β”€ Header
β”‚ β”œβ”€β”€ HotKeys
β”‚ β”œβ”€β”€ Notifications
β”‚ β”œβ”€β”€ Sidebar
β”‚ └── SW
β”œβ”€β”€ store
β”‚ β”œβ”€β”€ hotkeys
β”‚ β”œβ”€β”€ notifications
β”‚ β”œβ”€β”€ sidebar
β”‚ └── theme
β”œβ”€β”€ theme
β”‚ β”œβ”€β”€ Provider.tsx
β”‚ β”œβ”€β”€ themes.ts
β”‚ └── types.ts
β”œβ”€β”€ utils
β”‚ β”œβ”€β”€ insertIf
β”‚ β”œβ”€β”€ loader
β”‚ β”œβ”€β”€ is-mobile.ts
β”‚ β”œβ”€β”€ reset-app.ts
β”‚ β”œβ”€β”€ sleep.ts
β”‚ └── welcome.ts
β”œβ”€β”€ App.tsx
β”œβ”€β”€ main.tsx
└── Root.tsx

```

(back to top)

## Tasks

- [ ] Add a FastAPI for sending new blog posts
- [X] Continue adding projects to the Discography
- [X] Continue various paper and presentation transfer to the Library
- [X] Allow scrolling in the Welcome Page
- [X] Design and upload the Activity Page
- [ ] Optimize PDF view on phone (using isMobile to show PDF as full-screen perhaps)
- [ ] Create a more interactive 3D environment for the Vinyl object
- [ ] Add audio files for all Published projects in the Discography

See the [open issues](https://github.com/montymi/blog/issues) for a full list of issues and proposed features.

(back to top)

## Contributing

1. [Fork the Project](https://docs.github.com/en/get-started/quickstart/fork-a-repo)
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. [Open a Pull Request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)

(back to top)

## License

Distributed under the MIT License. See `LICENSE.txt` for more information.

## Contact

[![LinkedIn][linkedin-shield]][linkedin-url] [![Email][email-shield]][email-url] [![Portfolio][website-shield]][website-url]

## Acknowledgments

* [react-pwa](https://github.com/suren-atoyan/react-pwa) by @suren-atoyan for the amazing PWA template
* [ClearDocs](https://github.com/montymi/ClearDocs) for the high quality README template
* [Vercel][vercelLogo-url] for fast deployment and hosting

(back to top)

[contributors-shield]: https://img.shields.io/github/contributors/montymi/blog.svg?style=for-the-badge
[contributors-url]: https://github.com/montymi/blog/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/montymi/blog.svg?style=for-the-badge
[forks-url]: https://github.com/montymi/blog/network/members
[stars-shield]: https://img.shields.io/github/stars/montymi/blog.svg?style=for-the-badge
[stars-url]: https://github.com/montymi/blog/stargazers
[issues-shield]: https://img.shields.io/github/issues/montymi/blog.svg?style=for-the-badge
[issues-url]: https://github.com/montymi/blog/issues
[license-shield]: https://img.shields.io/github/license/montymi/blog.svg?style=for-the-badge
[license-url]: https://github.com/montymi/blog/blob/master/LICENSE.txt
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin
[linkedin-url]: https://linkedin.com/in/michael-montanaro
[muiLogo]: https://img.shields.io/badge/-Material%20UI-black.svg?style=for-the-badge&logo=mui&logoColor=natural
[muiLogo-url]: https://mui.com/
[pwaLogo]: https://img.shields.io/badge/-PWA-black.svg?style=for-the-badge&logo=pwa&logoColor=natural
[pwaLogo-url]: https://web.dev/progressive-web-apps/
[reactLogo]: https://img.shields.io/badge/-React-black.svg?style=for-the-badge&logo=react&logoColor=natural
[reactLogo-url]: https://reactjs.org/
[recoilLogo]: https://img.shields.io/badge/-Recoil-black.svg?style=for-the-badge&logo=recoil&logoColor=natural
[recoilLogo-url]: https://recoiljs.org/
[rrLogo]: https://img.shields.io/badge/-React%20Router-black.svg?style=for-the-badge&logo=react-router&logoColor=natural
[rrLogo-url]: https://reactrouter.com/
[tsLogo]: https://img.shields.io/badge/-TypeScript-black.svg?style=for-the-badge&logo=typescript&logoColor=natural
[tsLogo-url]: https://www.typescriptlang.org/
[viteLogo]: https://img.shields.io/badge/-Vite-black.svg?style=for-the-badge&logo=vite&logoColor=natural
[viteLogo-url]: https://vitejs.dev/
[vercelLogo]: https://img.shields.io/badge/-Vercel-black.svg?style=for-the-badge&logo=vercel&logoColor=natural
[vercelLogo-url]: https://vercel.com/
[threejsLogo]: https://img.shields.io/badge/-Threejs-black.svg?style=for-the-badge&logo=three.js&logoColor=natural
[threejsLogo-url]: https://threejs.org/
[email-shield]: https://img.shields.io/badge/-Email-black.svg?style=for-the-badge&logo=gmail&logoColor=natural
[email-url]: mailto:[email protected]
[website-shield]: https://img.shields.io/badge/-Portfolio-black.svg?style=for-the-badge&logo=react&logoColor=natural
[website-url]: https://montymi.com/