- Next.js
- TailwindCSS
- MongoDB
- Prisma adapter
- NextAuth
- Node.js
Live Link: https://jsonify-k8pai.vercel.app
- Clone the repository to your local machine.
- Install the dependencies:
npm install
- Create a
.env
file in the root directory of the project and add the following environment variables:
MONGODB_URI=YOUR_MONGODB_URI
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=YOUR_NEXTAUTH_SECRET
GOOGLE_ID='xxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com'
GOOGLE_SECRET='GOCSPX-xxxxxxxxxxxxxxxxxxxxxxxx'
- Start the development server:
npm run dev
- To upload a JSON file, go to
http://localhost:3000/
and select the JSON file to upload. - To view the data saved in the database, go to
http://localhost:3000/saved
.
This application uses TailwindCSS for styling and themes. You can customize the styling and themes by editing the tailwind.config.js
file.
To deploy this application, you can use any Next.js hosting provider.
Include a brief description of your project's sitemap here. You can use a bullet-point list or any other format that suits your project's structure.
Database: <database name>
Collections:
- File
- JsonRecord
Documents:
File:
_id: <ObjectId>
fileName: <String>
email: <String>
jsonRecords: [
{
_id: <ObjectId>
id: <String>
userId: <String>
title: <String>
body: <String>
fileId: <ObjectId>
},
...
]
JsonRecord:
_id: <ObjectId>
id: <String>
userId: <String>
title: <String>
body: <String>
fileId: <ObjectId>
Relationships:
File -> JsonRecord (1-to-many)
File
- The
File
collection contains documents that represent files. - The document also has a
fileName
field, which is the name of the file, and anemail
field, which is the email address of the user who uploaded the file.
JsonRecord
- The
JsonRecord
collection contains documents that represent the JSON records in a file. - The document has the following fields that comes from each
.json
file.id
userId
title
body
- There's an additional field,
fileId
, which is the identifier of the file that contains the record.
Relationship
- The
File
andJsonRecord
collections are related through a 1-to-many relationship. - The relationship is implemented through the
fileId
field in theJsonRecord
document, which references theid
field in theFile
document.
Jsonify is a versatile tool for handling JSON data efficiently. It comes with a range of powerful features to streamline your workflow:
-
JSON Data Management
- Easily manage and manipulate JSON data with a simple and intuitive interface.
-
Import and Export JSON Files
- Seamlessly import and export JSON files, making it convenient to work with external data sources.
-
Prettify JSON Data
- Automatically formats JSON data for improved readability, making it easier to work with large datasets.
... (Add more features as needed)