diff --git a/.env.example b/.env.example deleted file mode 100644 index fcfee11..0000000 --- a/.env.example +++ /dev/null @@ -1 +0,0 @@ -NEXT_PUBLIC_API_URL = \ No newline at end of file diff --git a/.gitignore b/.gitignore index a84107a..2cb2e0e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,37 +1,7 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. +# Editor +.vscode +.idea -# dependencies -/node_modules -/.pnp -.pnp.js -.yarn/install-state.gz - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# local env files +# Environment .env -.env*.local - -# vercel -.vercel - -# typescript -*.tsbuildinfo -next-env.d.ts +.DS_Store \ No newline at end of file diff --git a/README.md b/README.md index 571d572..a9351cf 100644 --- a/README.md +++ b/README.md @@ -1,63 +1,120 @@ -# Contact File Service +
-The Contact File Service offers a seamless solution for users to upload contact information in various formats (CSV, XLSX, or XLS). Upon submission, the backend processes this data, extracting details such as names, phone numbers, emails, and genders. It compiles this information into a unified contact file (VCF file) compatible with Android and iOS devices, simplifying contact management. +The Contact File Service offers a seamless solution for users to upload contact information in various formats (CSV, XLSX, or XLS). Upon submission, the backend processes this data, extracting details such as names, phone numbers, emails, and genders. It compiles this information into a unified contact file (VCF file) compatible with Android and iOS devices, simplifying contact management.
+ +## 🌐 Deploy + +[https://contactify.codechefvit.com/](https://contactify.codechefvit.com/) + +## ⚙️ Tech Stack: + +- Next.js +- TypeScript +- Tailwind CSS + +## 🖼 Screenshots + ++
+ +## 🏁 Get Started + +Follow these steps to set up and run the Contact File Backend Service locally: + +1. Local Installation + + 1. **Clone the Repository** + + - Clone the repository. + ```bash + git clone https://github.com/CodeChefVIT/contactify-fe.git + ``` + - Navigate to the cloned directory and run + ```bash + cd contactify-fe + ``` + + 2. **Install Dependencies** + + - Install all required dependencies for running the server on local machine + ```bash + npm install + ``` + + 3. **Configuration** + + - Create a `.env` file in the root directory. + - Define environment variables as in `.env.example`. + + 4. **Build the website** + ```bash + npm run build + ``` + 5. **Start the Server** + - Start the server using + ```bash + npm start + ``` + - The service will be running on `http://localhost:3000` by default. + +2. Backend Installation + - Follow the steps on https://github.com/CodeChefVIT/contactify-backend to set up the backend service. + +## ✨ Features ### File Upload Prompt + - Enables users to upload contact files in various formats (CSV, XLSX, XLS) effortlessly. ### Automatic Header Extraction + - Identifies and extracts headers from uploaded files to assist in contact data organization. ### Header Mapping Interface + - Provides a user-friendly interface for mapping extracted headers to predefined contact fields like first name, middle name, last name, gender, phone number, and email for accurate data categorization. ### Custom Data Handling Options + - **Row Filtering**: Allows skipping rows without a phone number or with insufficient phone number digits. - **Data Validation**: Offers options to set criteria for data inclusion, ensuring accuracy and completeness. ### Contact File Generation Options + - **Unified VCF File**: Generates a single VCF file containing all organized contact information. - **Individual Contact Files**: Provides flexibility to receive contacts as separate files bundled together in a convenient zip format. -## Installation Guide +## 📝 Checkout: -Follow these steps to set up and run the Contact File Backend Service locally: +- Contactify Backend: [https://github.com/CodeChefVIT/contactify-backend](https://github.com/CodeChefVIT/contactify-backend) -1. Local Installation +## 🚀 Contributors - 1. **Clone the Repository** - - Clone the repository. - ```bash - git clone https://github.com/CodeChefVIT/contactify-fe.git - ``` - - Navigate to the cloned directory and run - ```bash - cd contactify-fe - ``` - - 2. **Install Dependencies** - - Install all required dependencies for running the server on local machine - ```bash - npm install - ``` - - 3. **Configuration** - - Create a `.env` file in the root directory. - - Define environment variables as in `.env.example`. - - 4. **Build the website** - ```bash - npm run build - ``` - - 5. **Start the Server** - - Start the server using - ```bash - npm start - ``` - - The service will be running on `http://localhost:3000` by default. - -2. Backend Installation - - Follow the steps on https://github.com/CodeChefVIT/contactify-backend to set up the backend service. +
+ + + +Aaditya Mahanta ++ + + + + + |
+
+ Made with :heart: by CodeChef-VIT +
diff --git a/frontend/.env.example b/frontend/.env.example new file mode 100644 index 0000000..c6f6567 --- /dev/null +++ b/frontend/.env.example @@ -0,0 +1 @@ +NEXT_PUBLIC_API_URL=https://backend-url.com/api \ No newline at end of file diff --git a/.eslintrc.cjs b/frontend/.eslintrc.cjs similarity index 100% rename from .eslintrc.cjs rename to frontend/.eslintrc.cjs diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 0000000..a84107a --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,37 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js +.yarn/install-state.gz + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/components.json b/frontend/components.json similarity index 100% rename from components.json rename to frontend/components.json diff --git a/next.config.js b/frontend/next.config.js similarity index 100% rename from next.config.js rename to frontend/next.config.js diff --git a/package.json b/frontend/package.json similarity index 100% rename from package.json rename to frontend/package.json diff --git a/pnpm-lock.yaml b/frontend/pnpm-lock.yaml similarity index 100% rename from pnpm-lock.yaml rename to frontend/pnpm-lock.yaml diff --git a/postcss.config.js b/frontend/postcss.config.js similarity index 100% rename from postcss.config.js rename to frontend/postcss.config.js diff --git a/prettier.config.mjs b/frontend/prettier.config.mjs similarity index 100% rename from prettier.config.mjs rename to frontend/prettier.config.mjs diff --git a/public/favicon.png b/frontend/public/favicon.png similarity index 100% rename from public/favicon.png rename to frontend/public/favicon.png diff --git a/public/logo.svg b/frontend/public/logo.svg similarity index 100% rename from public/logo.svg rename to frontend/public/logo.svg diff --git a/src/api/api.ts b/frontend/src/api/api.ts similarity index 100% rename from src/api/api.ts rename to frontend/src/api/api.ts diff --git a/src/app/globals.css b/frontend/src/app/globals.css similarity index 100% rename from src/app/globals.css rename to frontend/src/app/globals.css diff --git a/src/app/layout.tsx b/frontend/src/app/layout.tsx similarity index 100% rename from src/app/layout.tsx rename to frontend/src/app/layout.tsx diff --git a/src/app/manifest.webmanifest b/frontend/src/app/manifest.webmanifest similarity index 100% rename from src/app/manifest.webmanifest rename to frontend/src/app/manifest.webmanifest diff --git a/src/app/page.tsx b/frontend/src/app/page.tsx similarity index 100% rename from src/app/page.tsx rename to frontend/src/app/page.tsx diff --git a/src/app/robots.ts b/frontend/src/app/robots.ts similarity index 100% rename from src/app/robots.ts rename to frontend/src/app/robots.ts diff --git a/src/app/sitemap.xml b/frontend/src/app/sitemap.xml similarity index 100% rename from src/app/sitemap.xml rename to frontend/src/app/sitemap.xml diff --git a/src/assets/folder.svg b/frontend/src/assets/folder.svg similarity index 100% rename from src/assets/folder.svg rename to frontend/src/assets/folder.svg diff --git a/src/components/footer.tsx b/frontend/src/components/footer.tsx similarity index 100% rename from src/components/footer.tsx rename to frontend/src/components/footer.tsx diff --git a/src/components/map-modal.tsx b/frontend/src/components/map-modal.tsx similarity index 100% rename from src/components/map-modal.tsx rename to frontend/src/components/map-modal.tsx diff --git a/src/components/mode-toggle.tsx b/frontend/src/components/mode-toggle.tsx similarity index 100% rename from src/components/mode-toggle.tsx rename to frontend/src/components/mode-toggle.tsx diff --git a/src/components/navbar.tsx b/frontend/src/components/navbar.tsx similarity index 100% rename from src/components/navbar.tsx rename to frontend/src/components/navbar.tsx diff --git a/src/components/reverse-modal.tsx b/frontend/src/components/reverse-modal.tsx similarity index 100% rename from src/components/reverse-modal.tsx rename to frontend/src/components/reverse-modal.tsx diff --git a/src/components/sample-modal.tsx b/frontend/src/components/sample-modal.tsx similarity index 100% rename from src/components/sample-modal.tsx rename to frontend/src/components/sample-modal.tsx diff --git a/src/components/theme-provider.tsx b/frontend/src/components/theme-provider.tsx similarity index 100% rename from src/components/theme-provider.tsx rename to frontend/src/components/theme-provider.tsx diff --git a/src/components/ui/button.tsx b/frontend/src/components/ui/button.tsx similarity index 100% rename from src/components/ui/button.tsx rename to frontend/src/components/ui/button.tsx diff --git a/src/components/ui/checkbox.tsx b/frontend/src/components/ui/checkbox.tsx similarity index 100% rename from src/components/ui/checkbox.tsx rename to frontend/src/components/ui/checkbox.tsx diff --git a/src/components/ui/dialog.tsx b/frontend/src/components/ui/dialog.tsx similarity index 100% rename from src/components/ui/dialog.tsx rename to frontend/src/components/ui/dialog.tsx diff --git a/src/components/ui/dropdown-menu.tsx b/frontend/src/components/ui/dropdown-menu.tsx similarity index 100% rename from src/components/ui/dropdown-menu.tsx rename to frontend/src/components/ui/dropdown-menu.tsx diff --git a/src/components/ui/form.tsx b/frontend/src/components/ui/form.tsx similarity index 100% rename from src/components/ui/form.tsx rename to frontend/src/components/ui/form.tsx diff --git a/src/components/ui/input.tsx b/frontend/src/components/ui/input.tsx similarity index 100% rename from src/components/ui/input.tsx rename to frontend/src/components/ui/input.tsx diff --git a/src/components/ui/label.tsx b/frontend/src/components/ui/label.tsx similarity index 100% rename from src/components/ui/label.tsx rename to frontend/src/components/ui/label.tsx diff --git a/src/components/ui/select.tsx b/frontend/src/components/ui/select.tsx similarity index 100% rename from src/components/ui/select.tsx rename to frontend/src/components/ui/select.tsx diff --git a/src/components/ui/separator.tsx b/frontend/src/components/ui/separator.tsx similarity index 100% rename from src/components/ui/separator.tsx rename to frontend/src/components/ui/separator.tsx diff --git a/src/components/ui/tooltip.tsx b/frontend/src/components/ui/tooltip.tsx similarity index 100% rename from src/components/ui/tooltip.tsx rename to frontend/src/components/ui/tooltip.tsx diff --git a/src/components/upload-modal.tsx b/frontend/src/components/upload-modal.tsx similarity index 100% rename from src/components/upload-modal.tsx rename to frontend/src/components/upload-modal.tsx diff --git a/src/lib/utils.ts b/frontend/src/lib/utils.ts similarity index 100% rename from src/lib/utils.ts rename to frontend/src/lib/utils.ts diff --git a/tailwind.config.js b/frontend/tailwind.config.js similarity index 100% rename from tailwind.config.js rename to frontend/tailwind.config.js diff --git a/tsconfig.json b/frontend/tsconfig.json similarity index 100% rename from tsconfig.json rename to frontend/tsconfig.json diff --git a/screenshots/Screenshot 2024-09-04 224539.png b/screenshots/Screenshot 2024-09-04 224539.png new file mode 100644 index 0000000..4f41b52 Binary files /dev/null and b/screenshots/Screenshot 2024-09-04 224539.png differ diff --git a/screenshots/Screenshot 2024-09-04 224613.png b/screenshots/Screenshot 2024-09-04 224613.png new file mode 100644 index 0000000..0a74a4f Binary files /dev/null and b/screenshots/Screenshot 2024-09-04 224613.png differ diff --git a/screenshots/Screenshot 2024-09-04 224631.png b/screenshots/Screenshot 2024-09-04 224631.png new file mode 100644 index 0000000..b701973 Binary files /dev/null and b/screenshots/Screenshot 2024-09-04 224631.png differ