The F3 Codex App is the home for the F3 Exicon and Lexicon, replacing the legacy version. This web-based application provides a comprehensive resource management and community platform for discovering, reviewing, and managing these essential F3-specific exicon and lexicon resources.
-
Organization and Resource Listings: Browse and search a curated list of organizations and their associated resources.
-
User Authentication: Secure user accounts with distinct roles (e.g., standard user, admin).
-
Administrative Dashboard: Manage organizations, resources, and user profiles through a dedicated admin interface.
-
Responsive Design: A mobile-friendly interface ensures a seamless experience across all devices.
The Exicon and Lexicon pages support URL query parameters for filtering and searching. This allows you to bookmark or share specific filtered views.
The Exicon (/exicon) supports the following query parameters:
| Parameter | Type | Description | Default |
|---|---|---|---|
search |
string | Search exercises by name or alias | - |
letter |
string | Filter by first letter (A-Z) | All |
tags |
string | Comma-separated tag names | - |
tagLogic |
string | Tag combination logic: AND or OR |
OR |
Examples:
# Search for exercises containing "burpee"
/exicon?search=burpee
# Filter exercises starting with "P"
/exicon?letter=P
# Show exercises with Core OR Legs tags
/exicon?tags=Core,Legs
# Show exercises with BOTH Core AND Legs tags
/exicon?tags=Core,Legs&tagLogic=AND
# Combined filters: search "pushup", starts with "P", has Core AND Arms tags
/exicon?search=pushup&letter=P&tags=Core,Arms&tagLogic=AND
The Lexicon (/lexicon) supports the following query parameters:
| Parameter | Type | Description | Default |
|---|---|---|---|
search |
string | Search terms by name, alias, or description | - |
letter |
string | Filter by first letter (A-Z) | All |
Examples:
# Search for terms containing "fitness"
/lexicon?search=fitness
# Filter terms starting with "F"
/lexicon?letter=F
# Combined: search "leader" and filter by "L"
/lexicon?search=leader&letter=L
Note: All query parameters are automatically updated in the URL as you interact with the search and filter UI, making it easy to share or bookmark specific views.
To get a copy of this project up and running on your local machine for development and testing purposes, follow these steps.
-
Node.js
-
npm or yarn
-
PostgreSQL: You will need a running PostgreSQL database instance.
-
Clone the repository:
git clone [https://github.com/F3-Nation/the-codex.git](https://github.com/F3-Nation/the-codex.git) cd the-codex -
Install dependencies:
npm install # or yarn -
Database Setup: Create a new PostgreSQL database for this project. Then, create a
.envfile in the root of the project and add your database connection string:DATABASE_URL="postgresql://YOUR_DB_USER:YOUR_DB_PASSWORD@YOUR_DB_HOST:YOUR_DB_PORT/YOUR_DB_NAME"Replace the placeholders with your actual database credentials.
-
Run Database Migrations: Apply the database schema and initial data by running the following command.
npm run db:migrate:up -
Seed your database (if applicable):
npm run seed
npm run dev
# or
yarn dev
The app will be available at http://localhost:3000.
-
Frontend: Next.js, React
-
Styling: Tailwind CSS
-
Database: PostgreSQL
-
Authentication: NextAuth
-
Backend: Next.js API Routes, Firebase Admin SDK
-
Database Client: Use a tool like
psqlor DBeaver to connect to the database specified in yourDATABASE_URL.
We welcome contributions! If you would like to help improve this project, please follow these steps:
-
Fork the repository.
-
Create a new branch (
git checkout -b feature/your-feature-name). -
Commit your changes (
git commit -m 'Add some feature'). -
Push to the branch (
git push origin feature/your-feature-name). -
Open a Pull Request.
In May 2025, F3 Nation announced a Hackathon to build a new app to host the Nation's exicon and lexicon. 7 High Impact Men answered that call. Of the submissions made the Nation SLT chose Roma as the winner. Over the following months he worked with the Nation's IT group to incorporate it into the central database and tech stack. Thanks to his inspiration and effort, and contributions of the F3 dev community, the men of F3 Nation now have a living and breathing repository of our culture's language.