CollNow is a Q&A web app for physicians. German-speaking internal medicine resident physicians can post questions and get answers from attendings and more experienced colleagues.
- Post a question
- Vote on the question
- Comment on the question
- Vote on the comment
- Search questions
- Register, login and logout (local strategy authentication)
I have built the app using the PERN stack:
Frontend | Backend |
---|---|
React | Node |
Redux | Express |
Tailwind CSS | PostgreSQL |
Passport.js |
To test the app, I have created test files using:
Frontend | Backend |
---|---|
React Testing Library | Supertest |
Jest | Jest |
Get an overview of the architecture of the app.
- Node.js version ≥ 16.18.0
- npm version ≥ 8.19.2
- PostgreSQL version ≥ 15
- Download a ZIP file of all the files of this app.
- Unzip it.
- Open the command line and go to the root directory of the app.
- Install all dependencies for the backend:
cd server/
npm i
- Install all dependencies for the frontend:
cd client/
npm i
- Create a PostgreSQL database using the SQL commands specified in database.sql.
- Change the database configuration in db.js to match your setup of PostgreSQL:
const pool = new Pool({
user: 'postgres',
password: 'password',
host: 'localhost',
port: 5432,
database: 'collnow'
});
Open the command line and go to the root directory of the app.
- Start the Node/Express server:
cd server/
node server.js
- Start the React server
cd client/
npm start