The MetaSketch is a platform designed to bring people together in virtual, immersive environments. This project enables users to connect, interact, and explore various experiences in the metaverse through a seamless and dynamic interface.
The Workspace aims to create a seamless digital environment where users can socialize, collaborate, and experience virtual worlds. Built with a robust backend and intuitive frontend, this project is designed to support dynamic interactions, real-time communications, and multimedia sharing within the metaverse.
This Turborepo includes the following packages/apps:
http: REST API serverweb: Next.js frontend application
db: Database schema and migrations using Prismaeslint-config: Shared ESLint configurationstypescript-config: Shared TypeScript configurationsui: Shared React component library
Follow these instructions to get the project up and running on your local machine for development and testing purposes.
To run the project locally, make sure you have these installed:
- Node.js - v18 or higher
- Docker - For containerized environments
- Kubernetes - For managing deployments
- Cert-Manager - For SSL certificates
- ArgoCD - For GitOps and CI/CD
Clone the repository:
git clone https://github.com/akshitjain16/MetaSketch.git
cd communityInstall dependencies:
pnpm installSet up environment variables:
cp .env.example .envTo run the application locally:
pnpm devTo start with Docker:
docker-compose upWe use Jest for testing the application. Run the following command to execute tests:
npm testEnd-to-end tests cover user scenarios within the platform, like authentication and interactive functionalities.
npm run test:e2eTo maintain code quality and style, run:
npm run lintOnce deployed, users can sign up, sign in, and explore the metaverse through their personalized profiles. Interactive features include messaging, customizable avatars, and access to virtual spaces.
To deploy the MetaSketch to a live environment, follow these steps:
-
Dockerize the Application:
docker build -t akshitjain16/metaSketch . docker push akshitjain16/metaSketch -
Deploy to Kubernetes:
- Set up a Kubernetes cluster and configure the manifests.
- Deploy with ArgoCD:
kubectl apply -f deployment.yaml
-
GitOps with ArgoCD:
- Initialize a GitOps repository.
- Set up ArgoCD to automatically synchronize and deploy new changes.
- Express - Server Framework
- React - Web Framework
- Node.js - Server Environment
- Docker - Containerization
- Kubernetes - Deployment Management
- ArgoCD - GitOps
- @akshitjain16 - Project Owner & Lead Developer
See also the list of contributors who participated in this project.
- Thanks to the open-source community
- Inspired by advancements in virtual technology and online communities