All Projects → Tradenomiliitto → Tradenomiitti

Tradenomiliitto / Tradenomiitti

Licence: agpl-3.0
A web app written in Elm

Programming Languages

elm
856 projects

Projects that are alternatives of or similar to Tradenomiitti

Alumni Network
The official home of the freeCodeCamp Alumni Network ⭐️ ⭐️ ⭐️
Stars: ✭ 65 (-27.78%)
Mutual labels:  social-network
Hack The Media
This repo collects examples of intentional and unintentional hacks of media sources
Stars: ✭ 1,194 (+1226.67%)
Mutual labels:  social-network
Mern Social Network
A Notes App developed with MERN stack. Screenshots below. Visit the link for SPA version!! 📝 📒
Stars: ✭ 85 (-5.56%)
Mutual labels:  social-network
Groups
A Laravel 5 user groups package
Stars: ✭ 66 (-26.67%)
Mutual labels:  social-network
Movim
Movim - Decentralized social platform
Stars: ✭ 1,171 (+1201.11%)
Mutual labels:  social-network
Voten
The code that powers voten.co
Stars: ✭ 1,215 (+1250%)
Mutual labels:  social-network
Dfw1n Osint
Australian Open Source Intelligence Gathering Resources, Australias Largest Open Source Intelligence Repository for Cyber Professionals and Ethical Hackers
Stars: ✭ 63 (-30%)
Mutual labels:  social-network
Facebookclientplugin
Facebook Client Plugin for Xamarin iOS and Android
Stars: ✭ 89 (-1.11%)
Mutual labels:  social-network
Network Avatar Picker
A npm module that returns user's social network avatar. Supported providers: facebook, instagram, twitter, tumblr, vimeo, github, youtube and gmail
Stars: ✭ 74 (-17.78%)
Mutual labels:  social-network
Nodejs Imgshare
A social App using Nodejs and Javascript technologies to Share Images
Stars: ✭ 83 (-7.78%)
Mutual labels:  social-network
Photobook Client
Image sharing service for Android
Stars: ✭ 66 (-26.67%)
Mutual labels:  social-network
Googleclientplugin
Google Client Plugin for Xamarin iOS and Android
Stars: ✭ 69 (-23.33%)
Mutual labels:  social-network
Teapotnet
Distributed private social network for file sharing
Stars: ✭ 78 (-13.33%)
Mutual labels:  social-network
Easychatandroidclient
EasyChat是一个开源的社交类的App。主要包含消息、好友、群组等相关的IM核心功能。部分界面参照了QQ、微信等相关社交APP。EasyChat APP整体采用MVVM模式,基于JetPack(Lifecycle,LiveData,ViewModel,Room)构建
Stars: ✭ 64 (-28.89%)
Mutual labels:  social-network
Everest Ios
iOS Client for Everest.com
Stars: ✭ 85 (-5.56%)
Mutual labels:  social-network
Facemash
A React app to vote 👍👎!!
Stars: ✭ 64 (-28.89%)
Mutual labels:  social-network
Finduser
Find usernames across over 75 social networks
Stars: ✭ 77 (-14.44%)
Mutual labels:  social-network
Easylogin
Login effortlessly with different social networks like Facebook, Twitter or Google Plus
Stars: ✭ 90 (+0%)
Mutual labels:  social-network
Svelte Social Auth
Social Auth for Svelte v3
Stars: ✭ 86 (-4.44%)
Mutual labels:  social-network
Phphub Ios
PHPHub for iOS is the universal iPhone and iPad application for PHPHub
Stars: ✭ 1,223 (+1258.89%)
Mutual labels:  social-network

Tradenomiitti Build Status

Tradenomiitti is a social web service for members of the trade union Tradenomiliitto. It is up and running at https://tradenomiitti.fi and you can read more about it in the press release (in Finnish) and more about why it's open source the blog post

A fork for a different community, the members of organization Mothers in Business, is running at https://mibit.mib.fi/ and you can read more about that in the info page.

Deployment

Server installation

Server installation for Tradenomiitti uses Ansible. You need to have a recent enough version of Ansible locally, at least 2.0.0.2 which is included in Ubuntu 16.04 does not work. The included install configuration assumes Ubuntu with passwordless sudo access over SSH with the user ubuntu and Python 2 installed on the server and symlinked to python. The server needs to have a public IP and a public domain pointing at it, or else Let's encrypt will fail.

You can install servers by running (replace ENV with dev, qa, or prod - defaults to dev if ENV_TO_DEPLOY is not specified):

npm install
cp /path/to/sideloaded/assets/* conf/assets/ # we don't want fonts/images/etc in repo
npm run preansible
$EDITOR conf/inventory.ini # edit with your favorite editor
ENV_TO_DEPLOY=ENV npm run serverinstallbase
git remote add ENV [email protected]:/srv/tradenomiitti.git
git push ENV master # for each ENV

Actual deployment

Deployment of a new version is done using git.

Once:

git remote add ENV [email protected]/srv/tradenomiitti.git

To deploy:

ENV_TO_DEPLOY=ENV npm run deploy

To upload static assets and deploy:

ENV_TO_DEPLOY=ENV npm run uploadanddeploy

Local development

  • Install and set up PostgreSQL.
    • Set up databases tradenomiitti and tradenomiitti-test
  • Install graphicsmagick
    • It's under that name in most package managers (Ubuntu, Arch, brew for macOS)
  • If you didn't already do it above, run npm install and copy assets to conf/assets/

Compile elm & scss

npm run compilelocal

Run the server with full integrations:

export SEBACON_CUSTOMER=
export SEBACON_USER=
export SEBACON_PASSWORD=
export SEBACON_AUTH=
export db_user= 
export db_password= 
export environment=development
export COMMUNICATIONS_KEY=
export SMTP_HOST=
export SMTP_USER=
export SMTP_PASSWORD=
export SMTP_TLS=
export MAIL_FROM=
export ENABLE_EMAIL_SENDING=true

npm start

Run with minimal integrations and seeded mock data.

export DISABLE_SEBACON=true
export db_user=
export db_password=
export environment=development
export TEST_LOGIN=true

npm run seed-db

npm start

You can click "Kirjaudu" to login as Tradenomi1 test user. You can also open http://localhost:3000/kirjaudu/1 or http://localhost:3000/kirjaudu/2 to use either of the two test user accounts: no SSO or members registry API required.

Run tests:

npm test
npm run testFrontend

Removal of profile

Replace REMOTE_ID with the remote ID you want to remove.

Make user anonymous, but keep ads and replies

\set remote_id '\'' REMOTE_ID '\''
update users set data = '{ "name": "[poistettu]" }', settings='{}' where remote_id = :remote_id;
delete from skills where user_id = (select id from users where remote_id = :remote_id);
delete from user_educations where user_id = (select id from users where remote_id = :remote_id);
delete from user_special_skills where user_id = (select id from users where remote_id = :remote_id);
delete from sessions where user_id = (select id from users where remote_id = :remote_id);
update users set remote_id = -1 where remote_id = :remote_id;

Completely remove user and all their content, including others' replies to their ads

delete from users where remote_id = 'REMOTE_ID';

License

Copyright (C) 2017 Tradenomiliitto and others, see AUTHORS

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].