Real-time web app which includes:
- Authentication
- Users management
- Email sendings
- TLS configuration for production
- HTTP Security Headers (Helmet)
- Endpoint tests
- CI Pipeline for GitHub Actions
Additional apps:
- Digital Signature
Applies concepts like:
- Architecture patterns (N-Layers, Server-Client)
- Design patterns
- Creational
- Factory
- Singleton
- Structural
- Facade
- Behavioral
- Observer (Publish/Subscribe)
- Creational
- Role Based Access Control (RBAC)
Tech stack: Meteor (Node.js), MongoDB, Vue 3, Vuetify, TypeScript, Mocha.
- macOS 12+
- Linux
- Windows 10+
- Node 14+ download here
- Yarn 1.22.0+
- Meteor 2.13.3 Installation
- Mongo 6.0.4 and Mongo Booster
- Note: In some cases it is necesary to disable antivrus in order to works SMTP Server
- Clone the last version of the repository here
- Verify you are on dev branch
Database configuration with terminal
Note: For Windows Systems verify that mongo is configured as environment system variable.
- Open a terminal in the project root
- Restore the database with:
mongorestore --db theory-swe ./database/theory-swe
The following commands are only for support:
- Export a backup of the database (data exported as formats BSON and JSON):
mongodump --db theory-swe --out ./database/
Installing dependencies
- Run the following commands to install the dependencies:
yarn
Configure environment variables file (Optional)
Go to ./settings/
and copy settings-development-example.json
to settings-development.json
and modify the following:
- MAIL_URL: Update the connection string according to your smtp credentials.
On Mac OS X and Linux
- Run the following commands:
yarn run:mac
On Windows
- Run the following commands:
SET MONGO_URL=mongodb://localhost:27017/theory-swe
yarn run:windows
Note: You can configure your Jetbrains IDE to run the project from the IDE execution button.
User to login:
- Username/Email: admin or admin@example.com
- Password: Theory_5w3