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! 🎰
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!
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.
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.
The serverCore
directory contains the core API and WebSocket connections via socket.io
, developed using TypeScript Express
. I also 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.
I'm now on the new chat feature
, which will have global chat rooms based on the user's country and private chat rooms will also be implemented for the user's friends. It's a complex chat system for sure, will be a fun challenge.
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.
Nodejs
version 20 or greater.NPM
version 10 or greater.
$ 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>
...
I hope my work can inspire you, thank you for your interest in the app!
Deployed Stable Version (Version 1): www.questcasino.xyz
This work is licensed under a Creative Commons Attribution 4.0 International License.