Quickstart Guide
Get your first Colombian school up and running with Athena ERP in under 5 minutes. This guide walks you through setting up a school, creating users, and enrolling your first student.This quickstart assumes you have Athena ERP installed locally. If you haven’t installed it yet, check out the Installation Guide.
Prerequisites
Before you begin, ensure you have:- Athena ERP backend running on
http://localhost:8000 - Athena ERP frontend running on
http://localhost:3000 - PostgreSQL database initialized with migrations
- A Supabase account (optional for local development)
Step 1: Create Your First School
Create a superadmin user
Run the provided script to create your first administrator:
The script is idempotent - you can run it multiple times safely. It will create or update the user.
Log in to the frontend
Open your browser and navigate to
http://localhost:3000. Use the credentials you just created to log in.Configure your school
Navigate to Settings → Institution and fill in your school’s basic information:
- Name: Your school’s name (e.g., “Colegio San José”)
- NIT: Tax identification number
- Resolution: Ministry of Education resolution number
- PEI Summary: Brief description of your Institutional Educational Project
Step 2: Set Up Academic Structure
Step 3: Enroll Your First Student
Create a student record
Add your first student with guardian information:Send this via the students endpoint:
Step 4: Explore Key Features
Student Management
View, search, and manage student records with full CRUD operations
Academic Records
Record grades, attendance, and academic observations
Communications
Send notifications and circulars to students and guardians
Discipline
Track behavioral incidents and disciplinary actions
Bulk Student Import
For schools with existing student databases, use the bulk import endpoint:CSV Format Requirements
CSV Format Requirements
Your CSV file should include these columns:The API returns:
nombre_completoorfull_name(required)numero_documentoordocument_number(required)tipo_documentoordocument_type(optional, defaults to “TI”)genderorgenero(optional)
Next Steps
Configure Roles
Set up teachers, coordinators, and other staff with appropriate permissions. See User Management.
Customize Settings
Configure grade levels, subjects, and institutional branding. See School Settings.
Integrate Supabase
For production deployments, configure Supabase authentication. See Supabase Integration.
Enable File Storage
Connect Cloudflare R2 for document storage. See Cloudflare R2.
Authentication Flow
Athena ERP uses JWT-based authentication. Here’s how the flow works:All API requests automatically filter by
school_id (tenant) to ensure data isolation between schools. You never need to manually specify the school in your requests.Common Operations
Check User Profile
Search Students
Get Student Details
Troubleshooting
JWT token expired
JWT token expired
Tokens expire after 30 minutes by default. Re-authenticate to get a fresh token:Implement token refresh on the frontend using Supabase’s session management.
CORS errors
CORS errors
Ensure your frontend URL is listed in
CORS_ORIGINS:Database connection errors
Database connection errors
Verify your PostgreSQL container is running:
Duplicate student error
Duplicate student error
Each student’s Check for existing records before creating:
document_number + document_type must be unique within a school:API Reference
For complete API documentation, visit:- Local Development: http://localhost:8000/docs (Swagger UI)
- ReDoc: http://localhost:8000/redoc
- OpenAPI Schema: http://localhost:8000/openapi.json
Need Help?
Installation Guide
Detailed setup instructions for local development
API Reference
Complete endpoint documentation with examples
Contributing
Learn how to contribute to Athena ERP
GitHub Issues
Report bugs or request features