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, Vuetify, TypeScript, Mocha.
- macOS 12+
- Linux
- Windows 10+
- Node 22+ download here
- Yarn 1.22.0+
- Meteor 3.3.2 Installation
- Mongo 7.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-sweRun the backfills:
yarn backfill <backfill_name>Available backfills:
- RefreshPermissionsBackfill
- RefreshStaticProfilesBackfill
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:
yarnConfigure environment variables file (Optional)
Go to ./settings/ and copy settings-development-example.json to settings-development.json and modify the following:
- MAIL_URL:
For development environment.
Install mailpit:
brew install mailpitStart mailpit as a service:
brew services start mailpitFor production environment: Update the connection string according to your smtp credentials.
On Mac OS X and Linux
- Run the following commands:
yarn run:macOn Windows
- Run the following commands:
SET MONGO_URL=mongodb://localhost:27017/theory-swe
yarn run:windowsUser to login:
- Username/Email: admin or admin@example.com
- Password: Theory_5w3