Quiz Master is a full-stack application that allows users to take a personality test and get course recommendations based on their results. It also provides an interface for admins to create and manage courses.
- User Authentication: Users can register and log in to their accounts.
- Personality Test: Users can take a 16 Personalities-style test.
- Course Recommendations: Users receive course recommendations based on their personality type.
- Course Management: Admins can create new courses.
- User Roles: The application supports different user roles (user, admin, creator).
- Frontend: React, TypeScript, Vite, Tailwind CSS, Shadcn UI
- Backend: Node.js, Express, TypeScript
- Database: PostgreSQL, Drizzle ORM
- Authentication: Passport.js
- Node.js
- npm
- PostgreSQL
- Clone the repository:
git clone <repository-url>
- Install the dependencies:
npm install
- Create a
.envfile in the root of the project and add the following environment variables:DATABASE_URL=postgresql://postgres:password@localhost:5432/appdb SESSION_SECRET=a-super-secret-key - Set up the PostgreSQL database. Make sure you have a database named
appdb. - Run the database migrations:
npm run db:push
- Start the development server:
npm run dev
The application will be available at http://localhost:5173.
Contributions are welcome! Please feel free to open an issue or submit a pull request.
- Fork the repository.
- Create a new branch:
git checkout -b my-new-feature - Make your changes.
- Commit your changes:
git commit -am 'Add some feature' - Push to the branch:
git push origin my-new-feature - Submit a pull request.