Description: This project is a web application similar to JSFiddle where users can write, save, and share code snippets with their friends. It allows users to create, edit, save, and delete their code snippets. Additionally, users have their own profile pages where they can view their email and all their projects.
Next.js: Used for server-side rendering and client-side routing.
MongoDB: Database for storing user information and code snippets.
CodeMirror: Provides the code editor functionality.
Axios: Handles HTTP requests.
Zustand: State management library.
TypeScript: Programming language for type safety and enhanced developer experience.
Playwright: Utilized for end-to-end testing.
/api/save-code: Endpoint for saving code snippets. /api/all-repos: Retrieves all projects from the database. /api/delete-code: Deletes a code snippet. /api/share-code: Generates a project page that can be shared with friends. /api/user/[id]: Retrieves user information and all their projects.
Code Page: A page where users can share their saved code snippets with friends.
Editor Page: Allows users to write and edit their code snippets using the CodeMirror editor.
Profile Page: Every user has their own profile page where they can view their email and all their projects.
Clone the repository.
Install dependencies using npm install.
Configure MongoDB connection.
Run the application using npm run dev.
Access the application through the specified port.
Contributions are welcome! Please follow the contribution guidelines outlined in CONTRIBUTING.md.
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.