Skip to content

dBish6/Quest_Casino_Full-Stack_App

Repository files navigation

🚀🚀 Active Development

The development of the complete overhaul of Quest Casino is now underway and we're now in the very early stages. The previous version (v1.2.8) will remain available online for the time being, you can access the previous version through the releases section or the quest_casino_v1.2.8 branch. Quest Casino version 2 is a highly ambitious upgrade that promises to surpass its predecessor in every way. Stay Tuned! 🎰

Quest_Casino_Full-Stack_App

This is a fun casino app that has different kinds of casino games. From the sound of the name, in addition, it has some quests/challenges to complete for some extra moolah!

New Tech Stack

Quest Casino has transitioned to a monoRepo, which is very scalable. This setup allows for potential expansions into mobile development and additional web apps. Also, this allows for the API to communicate with the front-end via proxy which can provide better performance. This monoRepo uses npm and turboRepo as the build system.

web

The web directory is a TypeSript React app which uses Vite and a custom SSR server for SEO, Framer Motion for dynamic animations, Redux for state management, Storybook for testing and component management with the help from Class Variance Authority for variants and Radix UI here and there to ensure accessibility and other benefits. PostCSS and CSS modules handles styling.

serverCore

The serverCore directory contains the core API and WebSocket connections via socket.io, developed using TypeScript Express. I finally decided to remove Firebase, mid-development. I felt that all I really needed from Firebase was Firestore and all the additional features felt like unnecessary 'bloat' and also the 'hand-holding' began to annoy me. So, after I made up this tech stack, I decided to remove Firebase and use a different document-oriented database, MongoDB. Our database is now MongoDB complemented with an Object Data Modeling (ODM) tool, Mongoose, for a structured schema approach.

First Steps

I'm going to start with the user authentication and then move to the new chat feature.

Collaboration Appreciated!

I would love to work with other people with this app I envisioned.

When collaborating, you don't have to help with the main UI, I am also looking for people to make some games for Quest Casino. So, if you think of a cool Casino game to be featured, go right ahead. You could use JavaScript with preferably TypeScript and no React if you really want to, but other games are using React.

To collaborate just shoot me an email or you can contact me on Linkedin.

If you want to know more about Quest Casino, take a look at the design case study. Quest Casino's UI has undergone rigorous design and UX testing to ensure a great user experience, the design case study for the new version is on my portfolio website or just use this link. You'll find it at https://www.davidbishop.info/#design on my portfolio.

Prerequisites

  • Nodejs version 20 or greater.
  • NPM version 10 or greater.

Getting Started

$ npm install
$ npm run dev
  • Running npm run dev would run every project in the repo. If you want to run a specific project, use the --workspace flag. The <project> would be the name in the package.json of a project.
$ npm run dev --workspace <project>
  • When installing a package, don't forget to install it for a specific project:
$ npm install <package> --workspace <project>

Directory Structure

...

Thanks!

I hope my work can inspire you, thank you for your interest in the app!

Deployed Stable Version (Version 1): www.questcasino.xyz

Buy Me A Coffee



Shield: CC BY 4.0

This work is licensed under a Creative Commons Attribution 4.0 International License.

CC BY 4.0