The webapp is organized as follows:
Here's the structure of your web application:
.
├── /app
│ ├── /(auth-pages) # Authentication-related pages
│ │ └── sign-in
│ │ └── otp
│ ├── /auth
│ │ └── confirm
│ │ └── user
│ ├── /css # Stylesheets
│ ├── /events
│ │ └── [slug]
│ │ └── @modal
│ │ └── (...)(auth-pages)
│ │ └── sign-in
│ ├── /api
│ │ └── chat
│ ├── /profile
│ │ └── [username]
│ └── /error
├── /components
│ ├── /pages # Page main sections components
│ │ └── sign-in
│ │ └── otp
│ ├── /ui # UI components coming from shadcn/ui
│ ├── /icons # SVG custom icons outside Lucide Icons
│ └── /shared
├── /lib
│ ├── /constants
│ ├── /hooks
│ ├── /supabase
│ └── utils.ts # Utility functions
├── /server # Socket.io server
├── /services # Supabase + Other services
├── /types
├── components.json
├── middleware.ts
├── next.config.js
├── next-env.d.ts
├── package.json
├── postcss.config.js
├── tailwind.config.ts
├── tsconfig.json
├── tsconfig.server.json
└── tsconfig.tsbuildinfo
-
Clone the repository:
git clone https://github.com/andlerrl/MintMoments.git mint-moments cd mint-moments
-
Install dependencies:
bun install
-
Set up environment variables:
- Copy
.env.example
to.env
and populate it with your environment-specific values.
- Copy
-
Run the development server:
bun run dev
-
Build the project:
bun run build
-
Start the production server:
bun start
The project uses the following dependencies:
- tailwindcss: CSS theme and styling Documentation
- clsx:
cn()
utility function for conditional className clauses Documentation - cva: Class Variant Authority for classNames Documentation
- framer-motion: Smooth animations Documentation
- shadcn/ui: Set of re-usable components Documentation
- @supabase/ssr: Supabse for database fetching and subscription Documentation
- socket.io: Real-time communication Documentation
For a complete list of dependencies, refer to the package.json
file.