Certifast is a Django-based certification reference system that allows users to browse, search, and add certifications. The application features a modern UI built with Tailwind CSS and offers a clean way to manage certification information.
- Modern, responsive UI using Tailwind CSS
- Certification management (add, view certifications)
- Dynamic modals for adding related items (categories, institutions, prerequisites, languages)
- AJAX form submissions for smooth user experience
- Python 3.x
- Django 5.x
- Tailwind CSS
- SQLite (default database)
- Python 3.8 or higher
- Node.js and npm (for Tailwind CSS)
-
Clone the repository
git clone https://github.com/yourusername/certifast.git cd certifast
-
Create and activate a virtual environment
python -m venv .venv # On Windows .venv\Scripts\activate # On macOS/Linux source .venv/bin/activate
-
Install Python dependencies
pip install -r requirements.txt
-
Install Tailwind CSS dependencies
cd theme npm install
-
Build Tailwind CSS
npm run build
-
Apply database migrations
cd .. # Return to project root python manage.py migrate
-
Create a superuser (optional)
python manage.py createsuperuser
-
Run the development server
python manage.py runserver
-
Access the application
Open your browser and navigate to http://127.0.0.1:8000
certification/
- Main app for managing certificationstemplates/
- HTML templatesstatic/
- Static assetstheme/
- Tailwind CSS configurationtemplates/components/
- Reusable UI components
We welcome contributions to Certifast! Please follow these steps to contribute:
- Fork the repository on GitHub
- Clone your fork locally
- Set up the project following the installation instructions above
- Create a new branch for your feature/bugfix:
git checkout -b feature/your-feature-name
- Follow the code style of the project
- Write clean, maintainable code
- Include comments where necessary
- Update or add tests as needed
- Run existing tests:
python manage.py test
- Manually test your feature in the browser
- Ensure your changes don't break existing functionality
- Push your changes to your fork
- Create a Pull Request from your branch to the main repository
- Provide a clear description of the changes
- Reference any related issues
- Wait for project maintainers to review your changes
- Be open to feedback and make requested changes
- Respond to comments in a timely manner
- Follow PEP 8 style guide for Python code
- Use class-based views