πŸ“š
AlgoChronicleTrack your growth
🏠HomeπŸ“…40-Day ScheduleπŸ”„RevisionsπŸ”₯ConsistencyπŸ“ŠStatsπŸ“‹CheatsheetπŸ—ΊοΈProblem Map

πŸ“– Setup Guide

Complete guide to set up AlgoChronicle with automatic GitHub integration

⚠️Prerequisites

  • β€’A GitHub account
  • β€’A Firebase account (free tier is sufficient)
  • β€’Basic knowledge of Git and command line
1

Firebase Setup

Create a Firebase Project

  1. Go to Firebase Console
  2. Click "Add Project" and follow the wizard
  3. Disable Google Analytics (optional for this project)

Enable Firestore Database

  1. In your Firebase project, go to Build β†’ Firestore Database
  2. Click "Create database"
  3. Choose "Start in production mode"
  4. Select your preferred region

Get Firebase Admin Credentials

  1. Go to Project Settings β†’ Service Accounts
  2. Click "Generate new private key"
  3. Save the JSON file securely (you'll need it for environment variables)

Note: Keep your Firebase credentials secure. Never commit them to Git!

2

Create DSA Problems Repository

Repository Setup

  1. Create a new GitHub repository (e.g., "dsa-problems")
  2. Clone it to your local machine
  3. Create a folder structure for your problems

Recommended Folder Structure

dsa-problems/
β”œβ”€β”€ 001-two-sum/
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ solution.py
β”‚   β”œβ”€β”€ solution.java
β”‚   └── solution.cpp
β”œβ”€β”€ 002-add-two-numbers/
β”‚   β”œβ”€β”€ README.md
β”‚   └── solution.py
└── ...

README.md Format (YAML Frontmatter)

---
dayNumber: 1
title: Two Sum
platform: LeetCode
link: https://leetcode.com/problems/two-sum/
difficulty: Easy
pattern: Hash Table
approach: Use hash map to store complements
optimized: O(n)
bruteforce: O(nΒ²)
space: O(n)
date: 2025-10-23
---

## Problem Description
Your notes here...
3

Configure GitHub Webhook

Add Webhook to Your Repository

  1. Go to your dsa-problems repository on GitHub
  2. Navigate to Settings β†’ Webhooks β†’ Add webhook
  3. Set Payload URL: https://your-domain.vercel.app/api/github-webhook
  4. Content type: application/json
  5. Which events: Select "Just the push event"
  6. Active: βœ“ Checked
  7. Click "Add webhook"

Success: Your webhook is now configured! Every time you push to GitHub, AlgoChronicle will automatically update.

4

Deploy to Vercel

Vercel Deployment

  1. Fork or clone the AlgoChronicle repository
  2. Go to Vercel and sign in
  3. Click "Add New Project"
  4. Import your AlgoChronicle repository
  5. Add environment variables (see below)
  6. Click "Deploy"

Required Environment Variables

FIREBASE_PROJECT_ID=your-project-id
FIREBASE_CLIENT_EMAIL=firebase-adminsdk@...
FIREBASE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n..."
NEXT_PUBLIC_SITE_URL=https://your-app.vercel.app
5

Test Your Setup

Add Your First Problem

  1. Create a folder in your dsa-problems repo (e.g., 001-two-sum)
  2. Add a README.md with YAML frontmatter (see format above)
  3. Add your solution files (solution.py, solution.java, solution.cpp)
  4. Commit and push to GitHub
  5. Check your AlgoChronicle website - your problem should appear!

Pro Tip: Check GitHub Webhooks β†’ Recent Deliveries to see if the webhook fired successfully.

πŸ”§Troubleshooting

Problem not showing on website?
  • β€’ Check webhook delivery in GitHub (Settings β†’ Webhooks)
  • β€’ Verify environment variables in Vercel
  • β€’ Check Vercel function logs for errors
  • β€’ Hard refresh your browser (Ctrl+Shift+R)
Webhook failing?
  • β€’ Ensure Firebase Admin credentials are correct
  • β€’ Check that FIREBASE_PRIVATE_KEY includes quotes and newlines
  • β€’ Verify Firestore is enabled in Firebase Console

πŸš€Next Steps

Read the Quick Start Guide
Learn about Spaced Repetition
Start Solving Problems
πŸ“šAlgoChronicle

Track your coding growth, one commit at a time. Master DSA with spaced repetition.

Quick Links

  • 🏠Home
  • βž•Add Problem
  • πŸ“…40-Day Schedule
  • πŸ”„Revisions
  • πŸ“ŠStatistics
  • πŸ“‹Cheatsheet

Resources

  • πŸ“–Setup Guide
  • ⚑Quick Start
  • πŸ’»GitHub Repo
  • 🧠Spaced Repetition
  • πŸ“‘RSS Feed

Pro Tips

  • β€’Solve consistently every day
  • β€’Review problems using spaced repetition
  • β€’Add detailed notes for future reference
  • β€’Track solutions in multiple languages
© 2025 AlgoChronicle. Built with ❀️ using Next.js, Firebase & Tailwind CSS
Privacyβ€’Termsβ€’Report Issue

β€œThe only way to learn a new programming language is by writing programs in it.” - Dennis Ritchie