AceMe is a modern web application designed to help users practice job interviews. Built with Next.js, Firebase, and TypeScript, AceMe provides a seamless experience for authentication, interview practice, and feedback collection.
- User Authentication: Sign up and sign in using email and password, powered by Firebase Authentication.
- Interview Practice: Access a variety of interview scenarios and questions.
- Feedback System: Receive feedback on interview performance.
- Tech Stack Icons: Display technology icons for interview context.
- Responsive UI: Built with Tailwind CSS and custom UI components for a clean, modern look.
- Next.js: React framework for server-side rendering and routing.
- TypeScript: Type-safe development for reliability and maintainability.
- Firebase: Authentication and admin SDK for user management.
- Tailwind CSS: Utility-first CSS framework for rapid UI development.
- Sonner: Toast notifications for user feedback.
- Zod: Schema validation for forms.
aceme/
├── app/ # Next.js app directory (routing, layouts, pages)
│ ├── (auth)/ # Authentication pages (sign-in, sign-up)
│ ├── (root)/ # Main app pages (home, interview, feedback)
│ └── api/ # API routes (e.g., vapi/generate)
├── components/ # Reusable React components (forms, cards, UI)
├── constants/ # Project-wide constants
├── firebase/ # Firebase client and admin configuration
├── lib/ # Utility functions and server/client actions
├── public/ # Static assets (images, icons, covers)
├── types/ # TypeScript type definitions
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── next.config.ts # Next.js configuration
├── postcss.config.mjs # PostCSS configuration
├── eslint.config.mjs # ESLint configuration
└── README.md # Project documentation
- Node.js (v18+ recommended)
- npm or yarn
- Firebase project (for authentication)
- Clone the repository:
git clone https://github.com/venkideshVenu/AceMe-Where-Preparation-Meets-Precision.git cd AceMe-Where-Preparation-Meets-Precision/aceme - Install dependencies:
npm install # or yarn install - Configure Firebase:
- Add your Firebase config to
firebase/client.tsandfirebase/admin.ts. - Set up authentication in your Firebase console.
- Add your Firebase config to
- Environment Variables:
- Create a
.env.localfile in the root and add necessary environment variables (e.g., Firebase API keys).
- Create a
npm run dev
# or
yarn devThe app will be available at http://localhost:3000.
dev: Start the development serverbuild: Build the application for productionstart: Start the production serverlint: Run ESLint
- app/: Contains Next.js pages, layouts, and API routes.
- components/: UI and form components (e.g.,
AuthForm,InterviewCard). - firebase/: Firebase client and admin setup.
- lib/: Utility functions and server/client actions.
- public/: Static assets (logos, icons, images).
- types/: TypeScript type definitions.
- Fork the repository
- Create your feature branch (
git checkout -b feature/YourFeature) - Commit your changes (
git commit -m 'Add some feature') - Push to the branch (
git push origin feature/YourFeature) - Open a pull request
This project is licensed under the MIT License.
For questions or support, please open an issue on GitHub or contact the maintainer.