Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Edison0341/ASVABProject

Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ASVAB Prep Platform

A modern web application designed to help users prepare for the Armed Services Vocational Aptitude Battery (ASVAB) test. Features include practice tests, progress tracking, and a customizable dark/light theme interface.

Features

  • 🌓 Dark/Light Theme Toggle
  • 📝 ASVAB Practice Tests
  • 🔐 User Authentication
  • 📊 Progress Tracking
  • 💪 Comprehensive Test Categories
  • 📱 Responsive Design

Tech Stack

  • Framework: Next.js 14 (App Router)
  • Styling: Tailwind CSS
  • UI Components: shadcn/ui
  • Authentication: Clerk
  • Database: Supabase

Getting Started

Prerequisites

  • Node.js 18+ installed
  • npm or yarn package manager

Installation

  1. Clone the repository
git clone https://github.com/yourusername/asvab-prep.git
cd asvab-prep
  1. Install dependencies
npm install
# or
yarn install
  1. Create a .env.local file in the root directory and add your environment variables:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
  1. Start the development server
npm run dev
# or
yarn dev
  1. Open http://localhost:3000 with your browser

Available Commands

# Start development server
npm run dev

# Build for production
npm run build

# Start production server
npm start

# Run linting
npm run lint

Theme Toggle Usage

The theme toggle functionality is implemented using the following components:

  • ThemeProvider: Manages theme state
  • ThemeToggle: Button component for switching themes

To use the theme toggle in your components:

import { ThemeToggle } from "@/components/theme-toggle"
import { ThemeProvider } from "@/components/theme-provider"

// Wrap your app with ThemeProvider
<ThemeProvider>
  <YourComponent>
    <ThemeToggle />
  </YourComponent>
</ThemeProvider>

Project Structure

asvab-prep/
├── app/                 # Next.js app router pages
├── components/         
│   ├── landing/        # Landing page components
│   ├── theme-toggle.tsx
│   └── theme-provider.tsx
├── public/             # Static assets
├── styles/             # Global styles
└── types/              # TypeScript type definitions

Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a new branch
git checkout -b feature/your-feature-name
  1. Make your changes and commit them
git commit -m "Add your commit message"
  1. Push to your fork
git push origin feature/your-feature-name
  1. Create a Pull Request

Contributing Guidelines

  • Follow the existing code style
  • Write clear commit messages
  • Include tests if applicable
  • Update documentation as needed

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Support

For support, please open an issue in the GitHub repository or contact the maintainers.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 97.2%
  • CSS 1.6%
  • JavaScript 1.2%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.