Clone the repo using git clone https://github.com/F-Ting/Project-Collab.git
- Navigate into the
angular
folder via command line and runnpm install
- After node packages are installed, run
npm run start
. You should see your browser popup showinglocalhost:8000
as the url
- Navigate into the
node
folder via command line and runnpm install
- After node packages are installed. Then proceed to run
npm run start
. Note: you can have both the front-end and backend running vianpm run dev
. But make sure the front-end start-up script is NOT running.
Database and sample data setup
- install PostgresSQL
- run
psql -U postgres < node/db/setup.sql
from the project root folder. (ensurepsql
is added into your path variables) - install sequelize package globally via
npm install -g sequelize
or usenpx
to run the sequelize command for the next step - Next
cd .\node
and runsequelize db:migrate
, this will setup the database tables - Next
cd .\db
and runpsql -U project-collab-admin -d project-collab-db -f sample_data.sql
. Use the passwordcollab-project
, this will populate your database with some sample data, you should be able to use postman and test out some of the existing API routes
Ensure Docker is installed and run the following command to setup the image
docker-compose up -d
To take down the container and the volumes with it.
docker-compose down -v
The issue board consists of all issues relevant to upcoming updates. Any issues that are not
- For any further information or 1 on 1 session to help you get started on contributing to this project, you can me at chen.daniel2099@gmail.com.
Currently, UofT students are resorting to individual projects, finding projects from personal connections or online resources. However, since students have a variety of technical experience, it is often difficult to find peers who have similar skills to work with or find a willing mentor to learn from. Project-collab provides these students with the platform to connect with each other, along with resources to get students started working with new technology or projects they are interested in. On a recent community survey conducted, we asked the community of computer science students, how the CSSU/CS department/CS community could support them in aspects of career and side projects. The results were quite reassuring: 12/49 responses wanted support for project related work, through a platform to share and discover personal projects. The community seems to have validated the project for us, bringing up the need for the platform we have envisioned. The raw data is viewable in an excel file with the following link:https://docs.google.com/spreadsheets/d/1ka9U_uB1w1ItPvCYsGl3NL-Egw5o3WS78GTWiSnlbFQ/edit?usp=sharing
- Technologies Front-end: Angular 7 Back-end: Node.js, Express.js, Sequelize.js, PostgresDB
- Sequelize (ORM library) makes it easy to avoid programming in SQL and allows for easier conversion from database models to JSON objects and vice versa Testing Frameworks: Karma for Angular and Mocha + Chai for node. These frameworks are javascript based, making it very easy to pick up.