TeamCoo is a platform for non-profit Associations that need to manage large numbers of Volunteers. MEVN (Mongo, Express, Vue, Node) technology based.
Small associations need some way to unify all the Human Resources options when it comes to gathering Volunteers to do different tasks.
Used SemVer for versions. For all available version, see tags.
And here the Changelog
Deleted until standards
- Vuex
- Vuetify
- Bcryptjs
- DotEnv
- Ejs
- JSON Web Token
- NodeMailer
- Axios
- JS Cookie
- Secure LS
- Vue JWT Decode
- Vuex PersistedState
- Find Config
- TipTap
- Signup new users and user flow
- Add Workgroups to group people and start to join it
- Add Common or Specific question for Users to join Workgroups
- Add Tasks for the Workgroups to start to work in it and control members
- Add new Static Pages or configure the basics (CMS)
- Edit and delete all from the database
We pack all the application to run in a Docker server for easy Deploy.
To run in local:
Requirements:
- Node 12 at least
- MongoDB
- Nodemon in global
npm install nodemon -g
Clone the repo
git clone https://github.com/juananmuxed/teamcoo.git
Access to the folder
cd teamcoo
Create (or modify) the .env.development to Enviorement Variables
WEB_NAME = name_ong;
MONGO_ROOT_USER = rootname;
MONGO_ROOT_PASSWORD = rootpass;
MONGOEXPRESS_LOGIN = teamcoo;
MONGOEXPRESS_PASSWORD = pass;
MONGODB_ADMIN_PORT = 8081;
SECRET_STRING = verysecret;
API_VERSION = 1;
DATABASE_HOST = localhost;
DATABASE_NAME = teamcoo;
DATABASE_PORT = 27017;
API_PORT = 3000;
Then access to 2 folders (2 console prompt is easier)
CONSOLE 1: cd api
CONSOLE 2: cd client
Run the scripts
CONSOLE 1: npm i
CONSOLE 1: npm run dev
CONSOLE 2: npm i
CONSOLE 2: npm run serve
And you can access to the application via web browswer in http://localhost:8080
Easy, you need Docker in the Deploy server or machine
Requirements:
- Docker
Clone the repo
git clone https://github.com/juananmuxed/teamcoo.git
Access to the folder
cd teamcoo
Create the .env.production like .env.development
WEB_NAME = name_ong;
MONGO_ROOT_USER = rootname;
MONGO_ROOT_PASSWORD = rootpass;
MONGOEXPRESS_LOGIN = teamcoo;
MONGOEXPRESS_PASSWORD = pass;
MONGODB_ADMIN_PORT = 8081;
SECRET_STRING = verysecret;
API_VERSION = 1;
DATABASE_HOST = localhost;
DATABASE_NAME = teamcoo;
DATABASE_PORT = 27017;
API_PORT = 3000;
Create the "production" urls to API
// client/.env.production
VUE_APP_BASE_URL_API=http://localhost:3000 // https://api.domain.com/
VUE_APP_API_VERSION=1
This is just for external use like Emails or other next features (for example Share)
Build de vue app with the npm run build
command and create a .htaccess
file in the .dist
folder with this content (just Apache):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
Use this for other config files: History mode Vue
And point the web to .dist
folder
And up the Network and use de .env.production
docker-compose --env-file ./.env.production up -d
The ports by default:
- API: 3000
- DB-Admin: 8081
- Database: 27017
π§ Under construction
If you are an Association and want something like this. Contact via email, or any other method with me.
Please read CONTRIBUTING for details on our CODE OF CONDUCT, and the process for submitting pull requests.
MIT Β© MuXeD