ice-user/Anchor

★ 0Forks 0TypeScriptGitHub ↗Compare

Project website ↗

README

Quiz Master

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.

Features

  • 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).

Tech Stack

  • Frontend: React, TypeScript, Vite, Tailwind CSS, Shadcn UI
  • Backend: Node.js, Express, TypeScript
  • Database: PostgreSQL, Drizzle ORM
  • Authentication: Passport.js

Getting Started

Prerequisites

  • Node.js
  • npm
  • PostgreSQL

Installation

  1. Clone the repository:
    git clone <repository-url>
  2. Install the dependencies:
    npm install
  3. Create a .env file 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
    
  4. Set up the PostgreSQL database. Make sure you have a database named appdb.
  5. Run the database migrations:
    npm run db:push
  6. Start the development server:
    npm run dev

The application will be available at http://localhost:5173.

Contributing

Contributions are welcome! Please feel free to open an issue or submit a pull request.

  1. Fork the repository.
  2. Create a new branch: git checkout -b my-new-feature
  3. Make your changes.
  4. Commit your changes: git commit -am 'Add some feature'
  5. Push to the branch: git push origin my-new-feature
  6. Submit a pull request.

Contributors

ice-user

Issues