Kodkollektivet is an IT student organization of Linnaeus University (Sweden).
The website:
- Provides information about:
- the organization
- current, past and future projects
- ongoing, past and future events
- organisation members
Powered by PHP 7.4, Laravel, Tailwind CSS and the sheer lunacy of Aleksandra Bušure.
- Apache / Nginx
- MySQL / SQL
- PHP 7.4
This repository utilises a slightly modified version of the Laravel (v8.83.13) framework. The setup process may differ from the one described in the documentation.
- Clone the repository
- cd into kodkollektivet.se-3.0 and run:
- npm install
- composer install
- In project root, create a .env file
- Copy the contents of .env.example over to a newly created file, and set your environment variables:
- APP_URL (without port)
- DB_CONNECTION (sqlite / mysql / pgsql / sqlsrv)
- DB_HOST (localhost / 127.0.0.1)
- DB_PORT (3306, 8889, etc)
- DB_DATABASE (database name)
- DB_USERNAME
- DB_PASSWORD
- From project root, run:
- php artisan key:generate
- php artisan optimize:clear
- composer dump-autoload
- Migrate and seed the database by running:
- php artisan migrate
- php artisan db:seed
- or, import kdkl.sql
- Start the development server with:
- php -S localhost:{port, no brackets}
- In a new CMD / Terminal window, run:
- npm run watch
- Did it work?
- Make sure the development server and NPM are not running
- Set the .env variables to match the new host configuration, or create a new .env file.
- In .env, set:
- APP_ENV=production
- APP_DEBUG=false
- DB_HOST (either an address or localhost, depending on server configuration)
- aforementioned variables
- From project root, run:
- php artisan optimize:clear
- composer dump-autoload
- FTP or SCP the files into your host (/www or /public_html); normally, you won't need:
- resources/css
- resources/js
- resources/sass
- webpack.mix.js
- tailwind.config.js
- SSH into the server and run:
- php artisan migrate
- php artisan db:seed
- or, import kdkl.sql / your instance of the database
- Everything should be up :)
- Non-Chromium-based browser support ✅
- Email templates (e.g., invitation, welcome) ✅
- Forms, requests, routes, methods for projects
- Google index, XML sitemap ✅
- Comment backend code
- Open House notification / banner ✅
- SMTP
- @kodkollektivet.se emails for board people ✅
- Address + Google Maps ✅
- Favicon ✅
- Someone suggested surveys (and I don't know what to do)
⚠️
- Refactor: EventController, PostController, ProjectController
- Dedicated controller for any methods dealing with server-side rendering (e.g., in AJAX responses)
- Remove HTML from renderers; use components
- Minimise logic in templates
- Repetitive HTML / JS to reusable components
- Feature latest posts and events in /origins ✅
- Event calendar
⚠️ - Current month widget ✅
- Current year view ✅
- Widget to single event ✅
- Export calendar for admins
- Link to create event on click
- Flip through months in widget
- Handle multiple events in one day
- Mobile view ✅
- Think about spam
- Sponsors listing ✅
- Former sponsors / other collaborators
- Edit sponsors form ✅
- Internal mailbox
- Docs (with Markdown API)
- Event image listing for board people
- Notify about posts from followed users
- Notify about changes to followed events
- Newsletter
- Discord integration (primarily for the "doorbell" notification) ✅
- Websockets and instant messaging
- Company accounts, user flow etc ✅
- Forum / helpdesk