-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Technical overview
Shubhangi edited this page Jul 30, 2018
·
4 revisions
CodeCombat is a single-page web application, stitching together many different open-source projects and high quality services.
- Database: MongoDB. Pretty standard database responsibilities.
- Web Server: Node.JS, follows REST principles and a CRUD interface. Provides most of the security and maintains data integrity.
- Client: The single-page web application which follows the MVC pattern, using Backbone.
All layers use the same data format: JSON. Integrity and model meta-data is maintained using JSON-Schema.
- /app: Client application source. Code written here runs in the browser.
- /public: Client application output. This is what the browser fetches from, and is built from /app, /vendor and /test.
- /test: Testing files.
- /vendor: Third-party resources for the client(like jQuery, Bootstrap, and so on..) (server resources are governed by npm).
- config.coffee: Brunch config, mainly for compiling /app and /vendor into /public.
- package.json: NPM config: mainly for defining what packages the server requires.
- server_config.js: environmental variables for the server.
- server.coffee: main server file.
CodeCombat | Home | Blog | Forum | Teachers | Legal | Contribute
- Home
- Archmage Home
- Artisan Home
- Diplomat Home
- Archmage General
- Mission statement
- Coco Models
- Coding Guidelines
- Cookbook
- File system
- JSON Schema
- Technical overview
- Testing
- Third party software and services
- Artisan General
- Building A Level
- Coding Guidelines for Artisans
- Editing Thang Components
- Important Artisan Concepts
- Keyboard Shortcuts
- Debugging
- Artisan How-To Index
- Diplomat General
- i18n
- i18n Glossary nb
- i18n Glossary ru
- i18n Glossary es-419
- Dev Setup
- Dev Setup: Linux
- Dev Setup: Windows
- Dev Setup: Mac
- Dev Setup: Vagrant
- Dev Setup: Issues
- Game Engine
- Component
- Multiplayer
- Surface
- System
- Thang
- Thang Component System
- Tome
- World
- Artisan Tabs
- Components And Systems
- Scripts
- Settings
- Thangs
- Other
- Aether
- Client models
- Developer organization
- Educational Standards
- Events, subscriptions, shortcuts
- Chat Room
- Chat Room Rules
- Permissions
- Project Ideas List
- Treema
- Versioning
- Views