• Stars
    star
    535
  • Rank 82,940 (Top 2 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 11 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SydJS Meetup Website

sydjs.com

The SydJS Website.

Initially built in two and a half days by the team at Thinkmill as a demo of what KeystoneJS can do, it's now a showcase for the Sydney Javascript community.

Get Involved!

Please use the GitHub Issues to log any ideas you have to improve the site, or problems you may come across.

Or if you're feeling more adventurous, go pick an issue and submit a pull request.

Feel free to ask questions about how it works, if you're getting into the code.

If you are part of another meetup group and want to use our site as a basis for your own, that's great, we'd love to hear about it.

Coding Guidelines

If you're contributing code, please do your best to follow the conventions established in the codebase already. This makes pull requests much easier to review and merge.

We have generally followed the guidelines set out in AirBnB's Javascript Style Guide, with the exception of using real tabs for indentation.

Getting Started

To run the SydJS site locally, there are a few things to set up.

Because we have some private keys for our MongoDB, Cloudinary and Mandrill accounts, you'll need to set up your own equivalents before the site will run properly.

If you're looking to work on the SydJS site and want access to our accounts, please get in touch

Install Node.js and MongoDB

You'll need node 4.8.x and npm 2.15.x installed to run SydJS. The easiest way is to download the installers from nodejs.org.

You'll also need MongoDB 2.4.x - if you're on a Mac, the easiest way is to install homebrew and then run brew install mongo.

If you're on a Mac you'll also need Xcode and the Command Line Tools installed or the build process won't work.

Setting up your copy of SydJS

Get a local copy of the site by cloning this repository, or fork it to work on your own copy.

Then run npm install to download the dependencies.

Before you continue, create a file called .env in the root folder of the project (this will be ignored by git). This file is used to emulate the environment config of our production server, in development. Any key=value settings you put in there (one on each line) will be set as environment variables in process.env.

The only line you need to add to your .env file is a valid CLOUDINARY_URL. To get one of these, sign up for a free account at Cloudinary and paste the environment variable if gives you into your .env file. It should look something like this:

CLOUDINARY_URL=cloudinary://12345:abcde@cloudname

Running SydJS

Once you've set up your configuration, run node keystone to start the server.

By default, Keystone will connect to a new local MongoDB database on your localhost called sydjs, and create a new Admin user that you can use to log in with using the email address [email protected] and the password admin.

If you want to run against a different server or database, add a line to your .env file to set the MONGO_URI environment variable, and restart the site.

When it's all up and running, you should see the message SydJS is ready on port 3000 and you'll be able to browse the site on localhost:3000.

Facebook login

Add FACEBOOK_API=X.x in your .env file. For Facebook API >= 2.4 you must specify the fields you want to get in user profile.

Here be dragons errors

or, how you don't have any content yet

The first time you run the site, the homepage will warn you that it expects there to be at least one meetup, and your database won't have any. Don't freak out, just go to /keystone, sign in as the admin user, and create one.

You'll probably want to add some other content too (blog post, members, etc) to get all the pages looking right.

... happy hacking!

More Repositories

1

react-select

The Select Component for React.js
TypeScript
27,612
star
2

classnames

A simple javascript utility for conditionally joining classNames together
JavaScript
17,507
star
3

react-codemirror

Codemirror Component for React.js
JavaScript
1,540
star
4

react-hammerjs

ReactJS / HammerJS integration. Support touch events in your React app.
JavaScript
939
star
5

react-tappable

Tappable component for React
JavaScript
861
star
6

react-input-autosize

Auto-resizing input field for React
JavaScript
765
star
7

react-md-editor

React.js Markdown Editor Component
JavaScript
508
star
8

exenv

React's ExecutionEnvironment module extracted for use in other packages & components
JavaScript
232
star
9

generator-react-component

React Component Project Generator
JavaScript
220
star
10

react-date-select

A React Date Select / Picker Input Component
CSS
158
star
11

happiness

Standard customised to make me happy
JavaScript
124
star
12

react-component-gulp-tasks

Common Gulp tasks I use across my React Component projects
JavaScript
112
star
13

react-value

Adding Value to React
JavaScript
91
star
14

node-premailer

Node.js wrapper for premailer.dialect.ca
JavaScript
74
star
15

react-container

A flexible container for laying out React apps. Part of TouchstoneJS.
JavaScript
57
star
16

react-domify

Like JSON.strinfigy but uses React to generate DOM elements
JavaScript
54
star
17

picture-tour-app

Example React.js Cordova / PhoneGap App with Babel, Webpack and Hot Reloading
JavaScript
46
star
18

react-fixed

A lightweight component that sticks to the bottom of the window while scrolling. Neat for toolbars.
JavaScript
33
star
19

generator-react-express

React / Express Project Generator
JavaScript
33
star
20

react-alt-text

React.js Component for displaying alternate text when the [alt] key is pressed
JavaScript
32
star
21

store-prototype

Simple class for creating event-driven Data Stores
JavaScript
32
star
22

keystone-forum

The source code for forums.keystonejs.com (in development)
JavaScript
30
star
23

react-scroll-spy

React.js mixin for updating state based on the window's scroll position
JavaScript
29
star
24

react-context-example

An example / test / playpen looking at how Context works in React.js
JavaScript
27
star
25

node-express-workshop-complete

The complete reference implementation for node-express-workshop
JavaScript
18
star
26

react-date-input

A React.js Date Input Component
CSS
16
star
27

react-express-starter

ReactJS / Express Starter Project
CSS
16
star
28

node-mascot

✨🐢🚀✨
JavaScript
14
star
29

html-stringify

Converts Javascript Objects or Arrays to pretty HTML
JavaScript
14
star
30

model-transform

Common toJSON Transform for KeystoneJS / Mongoose Models
JavaScript
13
star
31

react-component-starter

ReactJS Component Starter Project
JavaScript
12
star
32

react-conf-2016

React Conf 2016 API
JavaScript
10
star
33

randomkey

Lightweight node.js lib for generating random string keys
JavaScript
10
star
34

prisma-day-keystone-workshop

TypeScript
10
star
35

asyncdi

Async Dependency Injection
JavaScript
9
star
36

block-timer

A node.js timer implementation for timing blocks of code that are run one or more times
JavaScript
8
star
37

node-bpay

Node.JS BPAY Customer Reference Number Generator and Validator
JavaScript
7
star
38

talk-sydjs-webcomponents

Resources for my talk on Web Components at SydJS, June 2014
CSS
6
star
39

keystone-next-prisma-demo

TypeScript
6
star
40

babel-plugin-example

JavaScript
5
star
41

react-sydney-2021-stack

Demo content for my talk at React Sydney, May 2021
TypeScript
5
star
42

list-to-array

Simple javascript lib for converting a [comma || space] delimited string to an array
JavaScript
4
star
43

aba

Deprecated; use aba-generator instead
JavaScript
4
star
44

sydney-mongodb-meetup

The resource files for the hand-on KeystoneJS session @ the Sydney MongoDB Meet-up, 25th Feb 2014
CSS
4
star
45

qs-set

Querystring manipulator for node.js and the browser
JavaScript
2
star
46

prototype-mobile-app

Prototype Mobile App
JavaScript
2
star
47

admin-ui-prototype

Starting from scratch
CSS
2
star
48

editor-ui-playground

TypeScript
1
star