https://github.com/maskedsyntax/hashprep.xyz
Monorepo for the Next.js frontend and Flask backend
https://github.com/maskedsyntax/hashprep.xyz
Last synced: 7 months ago
JSON representation
Monorepo for the Next.js frontend and Flask backend
- Host: GitHub
- URL: https://github.com/maskedsyntax/hashprep.xyz
- Owner: MaskedSyntax
- License: mit
- Created: 2025-01-20T18:49:26.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-27T06:06:12.000Z (10 months ago)
- Last Synced: 2025-05-14T22:13:12.327Z (8 months ago)
- Language: Python
- Homepage: https://hashprep.xyz
- Size: 2.37 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
HashPrep
Unlock the fun behind cracking the coding interview
---
## Overview
**HashPrep** is a **monorepo** project that combines a powerful **backend** and a sleek **frontend** to help users stay on track with their technical interview preparation. It allows users to track their progress, bookmark problems, take notes, and create personalized prep plans.
---
## Features
HashPrep is an open-source, community-driven platform that empowers learners to stay consistent and collaborative in their interview preparation journey. It isn’t just a tool — it’s a companion for individuals working through DSA challenges with discipline and support.
Users can seamlessly manage and track their problem-solving progress, flag problems for revision, and jot down notes to reflect on their thinking.
Whether you’re self-studying, prepping for a big interview, or sharing a custom list of must-solve problems with people, HashPrep offers a minimal yet powerful environment to grow — one problem at a time.
---
## Project Structure
```bash
├── backend/ # Flask backend (APIs, DB models, auth)
│ ├── routes/ # API route definitions
│ ├── models.py # SQLAlchemy models
│ ├── app.py # App factory
│ ├── extensions.py # Flask extensions (DB, JWT, etc.)
│ └── config.py # Environment and configuration
│
├── frontend/ # Next.js frontend (UI with shadcn/ui)
│ ├── components/ # Reusable React components
│ ├── app/ # Pages and routing
│ └── public/ # Static files (logo, icons)
│
├── scripts/ # Utility scripts
│ └── gsheet_to_db.py # Import problems from Google Sheets
│
├── .env # Env variables for backend
├── README.md # You are here
├── requirements.txt # Python deps for backend
```
---
## Getting Started
### Backend Setup (Flask)
```bash
cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
flask db upgrade
flask run
```
### Frontend Setup (Next.js + Bun)
```bash
cd frontend
bun install
bun dev
```
### Scripts
You can run data import scripts from `scripts/`, for example:
```bash
python scripts/gsheet_to_db.py
```
---
## Tech Stack
| Layer | Stack |
|------------|------------------------------|
| Frontend | Next.js, TypeScript, TailwindCSS, shadcn/ui |
| Backend | Flask, Flask-JWT-Extended, SQLAlchemy, Marshmallow |
| Database | MySQL |
| Scripts | gspread, Google Sheets API |
---
## License
This project is licensed under the **MIT License**.
---
## Contributing
Contributions to both frontend and backend are welcome. Please make sure to:
- Write clean, documented code
- Follow best practices for the stack you're contributing to
- Submit a PR with a clear description
Let's build HashPrep together!