Skip to content

Dev-CoreX/Codexa

Repository files navigation

What is Codexa?

Codexa is a gamified habit tracking platform built specifically for developers. The idea is simple — most developers know what they should be doing (coding daily, reading, staying healthy) but struggle with actually doing it consistently. Codexa turns that discipline into a game.

You pick your habits, set a commitment period (a custom number of days or the brutal 75-Day Hard Challenge), and track everything with XP, streaks, levels, and leaderboards. Log a distraction and lose XP. Complete your habits and gain it back. It keeps you honest.


Features

🎯 Habit Tracking

Create daily developer habits — coding sessions, reading, workouts, anything. Each habit gives you XP when completed. Miss it and your streak resets. The system is intentionally unforgiving because consistency is the point.

⚡ Distraction Control

Define the things that pull you away from your goals — social media, YouTube, mindless browsing. Every time you log a distraction it costs you XP. The penalty escalates the longer your distraction streak runs, topping out at -50 XP per trigger.

🔥 75-Day Hard Challenge

The flagship mode. 75 consecutive days, all habits completed every single day, zero exceptions. Miss one day and you start over from Day 1. It's hard by design — that's the whole point.

📚 Git Fundamentals Course

An interactive Git trainer built right into the app. 21 lessons across 8 modules, each with a real terminal simulator where you type actual git commands and the engine validates them. No videos, no passive learning — you type or you don't pass.

📊 Developer Analytics Dashboard

A full analytics dashboard showing your XP progress, habit completion rates, weekly discipline charts, streak tracking, and a commitment progress card that breaks down every day of your journey — clean days, distracted days, days skipped, and days remaining.

🏆 Leaderboard

See where you stand against other users by XP. The top 3 get medals. It's surprisingly motivating.

🔐 Authentication

Email/password signup and Google OAuth. Both work. Your data is saved per account.

🛡️ Admin Panel

A full admin panel at /admin for managing users, habits, courses, notifications, and the leaderboard. Cascade deletes, orphan data purging, broadcast notifications — production-grade controls.


Tech Stack

Layer Technology
Frontend React 19 + TypeScript + Tailwind CSS 4
Backend Node.js + Express
Database MongoDB with Mongoose
Auth JWT + Google OAuth 2.0
Build Vite + esbuild
Package Manager pnpm
Deployment Render (app) + MongoDB Atlas (database)

Getting Started

Prerequisites

  • Node.js 18+
  • pnpm
  • MongoDB (local or Atlas)

Installation

# Clone the repo
git clone https://github.com/Dev-CoreX/Codexa.git
cd Codexa

# Install dependencies
pnpm install

# Set up environment variables
cp .env.example .env
# Edit .env with your MongoDB URI, JWT secret, and Google OAuth credentials

Environment Variables

MONGO_URI=mongodb+srv://...
JWT_SECRET=your_long_random_secret
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GOOGLE_CALLBACK_URL=http://localhost:5000/api/auth/google/callback
CLIENT_URL=http://localhost:3000
PORT=5000

Run Locally

# Start both frontend and backend together
pnpm dev

Frontend runs at http://localhost:3000, API at http://localhost:5000.

Build for Production

pnpm build
pnpm start

Project Structure

Codexa/
├── client/                  # React frontend
│   ├── src/
│   │   ├── pages/           # Route-level components
│   │   ├── components/      # Reusable UI components
│   │   ├── lib/             # API client, utilities
│   │   └── index.css        # Global styles
│   └── public/              # Static assets (logo, favicon)
├── server/                  # Express backend
│   ├── routes/              # API route definitions
│   ├── controllers/         # Business logic
│   ├── models/              # Mongoose schemas
│   └── middleware/          # Auth middleware
├── shared/                  # Shared types/constants
└── package.json

Deployment

The live version runs on:

To deploy your own instance, follow the steps in the deployment guide and set the environment variables in your Render dashboard.


Admin Access

The admin panel is available at /admin. It requires separate admin credentials set in your environment. From the admin panel you can:

  • View platform-wide stats (users, habits, courses, distractions)
  • Drill down into individual user data
  • Edit user XP
  • Send broadcast or personal notifications
  • Manage the leaderboard
  • Purge orphaned data from deleted accounts

License

MIT — use it, modify it, build on it.


About

A gamified discipline platform that turns developer habits into XP, streaks, and levels — because consistency is a skill, not a trait.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors