Welcome to Open Source JKUAT (OSJ), an open-source web platform built by and for JKUAT students. Our mission is to create a vibrant community where students can share resources, collaborate, and engage in university life through a single platform.
- About OSJ
- Features
- Tech Stack
- Packages in Use
- Contribution Guidelines
- Getting Started
- License
- Contacts
OSJ is designed to address various aspects of university life for JKUAT students. While anyone can sign up, using a JKUAT email grants access to additional features. Our platform provides students with tools to excel academically, socially, and professionally.
- Blogs & News: Students can publish articles to practice and showcase their writing skills.
- University Processes & Procedures: Detailed guides on processes not covered by the main JKUAT website (e.g., how to replace your student ID).
- JKUAT Mapping: Precise maps using Google Maps to navigate the university.
- Resource Sharing: A place to share notes, assignments, and study materials (e.g., Civil Engineering Class of 2022 resources).
- StackOverflow-style Q&A: A forum for students to ask and answer academic questions related to exams and assignments.
- Student Projects: A showcase of projects completed by JKUAT students, with links to LinkedIn profiles for better visibility to potential employers.
- Events: University-wide event listings for better planning and visibility.
- JKUSA Section: A space for JKUSA to share important information and updates.
- Scholarships & Opportunities: A platform for students to discover scholarships, internships, and job opportunities.
- Clubs & Societies: Explore and join clubs and societies.
- Accommodation Listings: Find accommodation around the university.
- AI Integrations: Students can access premium AI tools and applications.
- E-commerce for Students: A marketplace for students to buy and sell items, from textbooks to household goods.
- Lost & Found: A section for listing lost and found items.
- Work Publishing: Students can publish and promote their works.
- Social: A space for students to interact.
- General Info: eg premium services that accept jkuat student email.
OSJ is built using the TALL stack:
- TailwindCSS: For modern and responsive UI design. Documentation .
- Alpine.js: Lightweight JavaScript framework for interactivity. Documentation .
- Laravel: PHP framework powering the backend. Documentation
- Livewire: For building dynamic, reactive components without a full SPA. Documentation .
- Laravel Breeze: A simple authentication system that includes login, registration, and password reset functionality with TailwindCSS and Blade components.
- Laravel Permissions: A package to manage roles and permissions in your Laravel app.
- Laravel Activity Log: Logs model changes and records the actions taken on your models.
- Laravel Authentication Log: Tracks the authentication events of users such as login and logout for security purposes.
- Laravolt Avatar: A package to generate unique avatars based on users' names or email addresses.
- MaryUI: A UI library that provides pre-built components for building consistent and responsive interfaces.
- Blade Icons: Adds support for using icon sets with Blade components, making it easy to include icons in your app.
- Laravel Debugbar: Displays debugging information such as queries, logs, and requests in the browser.
- Pulse: A package for real-time monitoring of Laravel applications with metrics.
- Log Viewer: Helps you view and search through Laravel logs within the browser.
- Spatie Laravel Cookie Consent: Adds a customizable cookie consent banner to your Laravel app to comply with privacy regulations.
- Spatie Laravel Web Tinker: A web-based REPL for executing PHP code in your Laravel app.
- Cybercog Laravel Love: Adds functionality for users to "like" or "dislike" content in your Laravel app.
- RalphJSmit Laravel SEO: A package to help manage SEO metadata and structure in Laravel projects.
- Laravel Charts: A simple and customizable charting package for Laravel.
- Geocoder PHP Laravel: Geocoding services to convert addresses into coordinates and vice versa.
- Livewire PowerGrid: A dynamic table-building package that works with Laravel Livewire.
- Chatify: A Laravel-based package that provides a real-time messaging system for users.
- Spatie Laravel Tags: Allows you to attach tags to any Eloquent model.
- Talk: A Laravel-based real-time messaging system for building chat applications.
- Spatie Laravel Sitemap: Automatically generate a sitemap for your Laravel app.
- Mewebstudio Captcha: Adds CAPTCHA protection to Laravel forms.
- Artisan SEO Tools: A set of tools for managing SEO meta tags and Open Graph data.
- Laravel IDE Helper: Generates helper files for IDE auto-completion for Laravel projects.
- Laravel Excel: An Excel package for exporting and importing Excel files into Laravel apps.
- Laravel DOMPDF: A Laravel wrapper for DOMPDF to generate PDFs from HTML content.
We welcome contributions from students and developers alike. To contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-name). - Write clear and concise code with proper documentation.
- Submit a pull request (PR) with a detailed description of your changes.
- Ensure that all tests pass before submitting your PR.
Contributors will gain valuable real-world experience and build a portfolio while contributing to this meaningful project.
To run the project locally, follow these steps:
-
Docker Desktop: Laravel Sail runs on Docker, so you need Docker installed and running on your machine. Its available for Windows, macOS, and Linux.
-
Note for Windows Users: If you're using Windows, you'll need WSL 2 (Windows Subsystem for Linux 2). Docker Desktop requires WSL 2 for better performance and compatibility. You can install WSL 2 by following the official Microsoft guide here.
-
Composer (If Not Installed Already): You will need Composer to install Laravel dependencies, including Sail. Composer is a dependency management tool for PHP. You can install or learn more about Composer here.
-
Node.js and npm (If Not Installed Already): learn more here.
Confirm you have docker installed:
docker --version
docker-compose --version
./vendor/bin/sail version- Clone the repository:
git clone git@github.com:OS-JKUAT/osj.git
- Navigate to the project directory:
cd osj - Install dependencies:
docker run --rm \ -u "$(id -u):$(id -g)" \ -v $(pwd):/var/www/html \ -w /var/www/html \ laravelsail/php81-composer:latest \ composer install
- Copy the .env.example file to .env:
cp .env.example .env
- Start Sail by running:
./vendor/bin/sail up -d
- Generate Application Key:
./vendor/bin/sail artisan key:generate
- Set Up Database Configuration: Open the .env file and set your database credentials:
DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=osj DB_USERNAME=your_username or root DB_PASSWORD=your_password
- Run Database Migrations:
./vendor/bin/sail artisan migrate --seed
- Compile Frontend Assets:
./vendor/bin/sail npm install ./vendor/bin/sail npm run build ./vendor/bin/sail npm run dev
- Access the Application: Through the provided url by sail access the application or through: http://localhost
#Error pid 62
- Kill the process.
- Remove left over mysql sock files : sudo rm -f /var/run/mysqld/mysqld.sock
- You can create an alias for ./vendor/bin/sail . How to.
- php artisan < command > format will now be ./vendor/bin/sail artisan < command >.
Laravel has the most extensive and thorough documentation and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.
You may also try the Laravel Bootcamp, where you will be guided through building a modern Laravel application from scratch.
If you don't feel like reading, Laracasts can help. Laracasts contains thousands of video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into laracasts comprehensive video library.
If you discover a security vulnerability within OSJ site/code, please send an e-mail to Lewis via lewiswambugu01@gmail.com. All security vulnerabilities will be promptly addressed.
Use the contacts below to see how you can sponsor and or be a partner and the benefits of it.
- Comming soon...
In order to ensure that the OSJ community is welcoming to all, our code of conduct is adapted from the Laravel Code of Conduct, please review and abide it.
This project is licensed under the MIT License.
For more information or to get involved, feel free to contact us:
- WhatsApp: lewys
- Email: lewiswambugu01@gmail.com
Join us in building a legacy and creating opportunities for students to sharpen their skills and contribute to the JKUAT community!