Skip to content

Commit bd00fde

Browse files
committed
feat: initial commit with core features and structure
- Added Interview Ready features: Resume Checker and Take Home Checker. - Implemented modular structure in `/src/features/` for feature isolation. - Set up shared components and services in `/src/components/` and `/src/services/`. - Integrated Next.js Pages Router for simple routing and improved SEO. - Configured Tailwind CSS with CSS-in-JS support for flexible styling.
0 parents  commit bd00fde

23 files changed

+5840
-0
lines changed

.gitignore

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
/.pnp
6+
.pnp.*
7+
.yarn/*
8+
!.yarn/patches
9+
!.yarn/plugins
10+
!.yarn/releases
11+
!.yarn/versions
12+
13+
# testing
14+
/coverage
15+
16+
# next.js
17+
/.next/
18+
/out/
19+
20+
# production
21+
/build
22+
23+
# misc
24+
.DS_Store
25+
*.pem
26+
27+
# debug
28+
npm-debug.log*
29+
yarn-debug.log*
30+
yarn-error.log*
31+
.pnpm-debug.log*
32+
33+
# env files (can opt-in for committing if needed)
34+
.env*
35+
36+
# vercel
37+
.vercel
38+
39+
# typescript
40+
*.tsbuildinfo
41+
next-env.d.ts

.nvmrc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
20.18.0

README.md

+106
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# Interview Ready Gems 💎
2+
3+
A powerhouse suite of companion apps built to enhance **Interview Ready** experience. Each feature is crafted to help developers train smarter, assess better, and optimize their workflow—ensuring they stand out and get hired faster.
4+
5+
## 🚀 About This Repository
6+
7+
This is a **Next.js** project designed with a **modular architecture** to support multiple features, such as **Resume Checker** and **Take Home Checker**. Each feature is encapsulated within its own directory, ensuring better maintainability and scalability.
8+
9+
10+
11+
## 🚀 Features
12+
13+
- **Resume Checker**: A tool for analyzing and reviewing resumes.
14+
- **Take Home Checker**: A tool to assess take-home assignments.
15+
16+
17+
## 📁 Project Structure
18+
19+
```
20+
/src/
21+
/features/
22+
/resume-checker/ # Feature: Resume Checker
23+
/components/ # Specific UI components
24+
/hooks/ # Custom hooks for this feature
25+
/services/ # API calls and business logic
26+
/pages/ # Next.js pages (entry point for this feature)
27+
index.tsx # /resume-checker route
28+
/take-home-checker/ # Feature: Take Home Checker
29+
/components/
30+
/hooks/
31+
/services/
32+
/pages/
33+
index.tsx # /take-home-checker route
34+
/components/ # Shared UI components across features
35+
/hooks/ # Shared hooks
36+
/services/ # Shared business logic
37+
/pages/ # Next.js pages
38+
index.tsx # Main entry point
39+
/styles/ # Global styles
40+
/public/ # Static assets
41+
next.config.js
42+
tsconfig.json
43+
package.json
44+
```
45+
46+
## 🚀 Getting Started
47+
48+
### 1️⃣ Install Dependencies
49+
50+
```bash
51+
npm install # or yarn install or pnpm install
52+
```
53+
54+
### 2️⃣ Run Development Server
55+
56+
```bash
57+
npm run dev # or yarn dev or pnpm dev
58+
```
59+
60+
Open [http://localhost:3000](http://localhost:3000) in your browser to see the result.
61+
62+
### 3️⃣ Run Production Build
63+
64+
```bash
65+
npm run build
66+
npm start
67+
```
68+
69+
## 🏗️ Architectural Decisions
70+
71+
### 1️⃣ **Encapsulation per Feature**
72+
Each feature has its own `/pages/` directory inside `/src/features/`. This structure keeps feature-specific code self-contained while still allowing for shared utilities.
73+
74+
### 2️⃣ **Page Router Approach**
75+
We opted for **Next.js Pages Router** instead of App Router for simplicity and compatibility with traditional routing patterns.
76+
77+
### 3️⃣ **Shared Components & Services**
78+
Common UI elements and business logic reside in `/src/components/` and `/src/services/`, preventing code duplication.
79+
80+
### 4️⃣ **Flexible Styling**
81+
- **Tailwind CSS** is the primary styling approach.
82+
- **CSS-in-JS (Styled Components, Emotion, etc.)** can be used per feature, ensuring flexibility without enforcing a single styling method.
83+
84+
## 🚀 Deploying on Vercel
85+
86+
This project is optimized for deployment on **Vercel**. To deploy:
87+
88+
1. Push your code to a GitHub repository.
89+
2. Connect the repository to [Vercel](https://vercel.com/).
90+
3. Vercel will automatically build and deploy the app.
91+
92+
For manual deployment:
93+
94+
```bash
95+
vercel
96+
```
97+
98+
## 📖 Additional Resources
99+
100+
- [Next.js Documentation](https://nextjs.org/docs)
101+
- [Vercel Deployment Guide](https://nextjs.org/docs/pages/building-your-application/deploying)
102+
103+
---
104+
105+
This project is designed to be **scalable, maintainable, and easy to extend**. Contributions and improvements are always welcome! 🚀
106+

eslint.config.mjs

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { dirname } from "path";
2+
import { fileURLToPath } from "url";
3+
import { FlatCompat } from "@eslint/eslintrc";
4+
5+
const __filename = fileURLToPath(import.meta.url);
6+
const __dirname = dirname(__filename);
7+
8+
const compat = new FlatCompat({
9+
baseDirectory: __dirname,
10+
});
11+
12+
const eslintConfig = [
13+
...compat.extends("next/core-web-vitals", "next/typescript"),
14+
];
15+
16+
export default eslintConfig;

next.config.ts

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import type { NextConfig } from "next";
2+
3+
const nextConfig: NextConfig = {
4+
/* config options here */
5+
reactStrictMode: true,
6+
};
7+
8+
export default nextConfig;

0 commit comments

Comments
 (0)