Memofin is a web application designed to facilitate knowledge sharing and communication among teams and individuals. It enhances collaboration and productivity by enabling users to create, share, and organize notes.
- Note Creation: Create and format notes using a rich text editor.
- Sharing and Collaboration: Share notes and collaborate in real-time.
- User Authentication: Secure login and session management with Kinde Auth.
- Real-Time Data: Instant updates across devices with Supabase.
- Search Functionality: Quickly find content with search and filtering.
- Responsive Design: Optimized for desktop and mobile platforms.
- Form Validation: Robust form handling with React Hook Form and Zod.
- Interactive UI Components: Enhanced user experience with Shadcn and Tailwind CSS.
- Next.js: React framework for server-side rendering and static site generation.
- TypeScript: Strongly-typed JavaScript for improved code quality and maintainability.
- Prisma: Next-generation ORM for database interactions.
- Supabase: Backend as a Service for real-time data and authentication.
- Kinde Auth Next.js: Secure user authentication solution.
- React Query (TanStack Query): Efficient data fetching and state management.
- Shadcn: Accessible and customizable UI components.
- Tailwind CSS: Utility-first CSS framework for rapid UI development.
- React Hook Form: Performant form state management and validation.
- Zod: Type-safe schema validation.
- Lucide React: Icon library for React applications.
- React Spinners: Collection of loading spinners.
- Faker.js: Fake data generation for testing.
- Clsx: Utility for conditionally constructing
classNamestrings.
Follow these steps to set up and run Memofin locally.
First, install the necessary dependencies:
npm install
To run the application locally:
npm run devThis command will start the development server and open the application in your browser at http://localhost:3000.
To build the application for production:
npm run build- dev: Starts the development server.
- build: Builds the application for production.
- start: Starts the application in production mode.
- lint: Runs ESLint to check the code.
- prisma migrate: Runs the database migrations.
- prisma db seed: Runs custom database scripts.