Clementine.js is a lightweight boilerplate for fullstack JavaScript development which utilizes MongoDB, Express and Node.js. The boilerplate errs on the side of transparency and simplicity, making it an ideal starting point for beginner and seasoned developers alike.
The Free Code Camp version of Clementine.js is meant for use when completing projects as part of the FCC curriculum. This version includes GitHub authentication using Passport.
There are 3 versions of Clementine.js:
- Standard: the simplest version of Clementine.js. Intended for those who wish for the smallest and least intrusive footprint OR to implement features on their own.
- Angular: a slightly more complex version of the same application. This version employs the use of AngularJS as the front-end framework.
- Free Code Camp (FCC) (this version): A modified version of the standard boilerplate that is intended for use with the Free Code Camp curriculum.
In order to use Clementine.js, you must have the following installed:
To install Clementine.js, simply enter the below in the terminal window:
$ git clone https://github.com/johnstonbl01/clementinejs-fcc.git your-project
This will install the Clementine.js components into the your-project
directory.
Please follow this guide to register the application with GitHub and get API keys / secrets.
Create a file named .env
in the root directory. This file should contain:
GITHUB_KEY=your-client-id-here
GITHUB_SECRET=your-client-secret-here
MONGO_URI=mongodb://localhost:27017/clementinejs
PORT=8080
APP_URL=http://localhost:8080/
To start the app, make sure you're in the project directory and type node server.js
into the terminal. This will start the Node server and connect to MongoDB.
You should the following messages within the terminal window:
Node.js listening on port 8080...
Next, open your browser and enter http://localhost:8080/
. Congrats, you're up and running!
If you're using c9.io, please reference the documentation for instructions to get Clementine.js working in the c9 environment.
This is an open-source project, and contributions are always welcome! To see ways to contribute, please review the contribution guidelines.
Complete documentation can be found here.
You can find a complete step-by-step tutorial on how to create this app from the ground up here.
Features | Standard | Angular | FCC |
---|---|---|---|
MongoDB | Yes | Yes | Yes |
Express | Yes | Yes | Yes |
AngularJS (1.x) | No | Yes | No |
Node.js | Yes | Yes | Yes |
Passport | No | No | Yes |
Mongoose | No | No | Yes |
MIT License. Click here for more information.