Skip to content

CWFriends/CodeWithFriends

Repository files navigation

Netlify Status

Logo

Code with Friends

Learn new things! Make cool stuff! Have fun! Do all that, with an online community of friends.

Table of Contents

About The Project

This website is used to support seasonal coding events hosted by Mayuko. Through the website, users can view and participate in the latest seasonal coding event, read news updates, submit projects, and learn more about Code with Friends and its previous events.

Built With

  • NuxtJS for static site generation
  • Vuetify for the frontend framework
  • Netlify for static hosting
  • Netlify CMS for Content Management
  • Firebase for authentication, serverless functions, media storage and databases
  • Algolia for searching users for check-in groups

Getting Started

To get a local copy up and running follow these steps.

Installation

  1. Clone the repo with git clone https://github.com/luisaugusto/CodeWithFriends.git
  2. Make sure you have the latest version of Node installed, and then run npm install.
  3. Use the following commands to interact with the codebase:
# serve with hot reload at localhost:3000
$ npm run dev

# build for production and launch server
$ npm run build
$ npm run start

# generate static project
$ npm run generate

# lint js and vue files
$ npm run lint

Editing Content

Data for the website is split between two entities: Firebase Firestore and Netlify CMS.

Firestore will hold any data relating to users, such as event signups, submissions, and login information. For the purpose of development, that data can be accessed locally and specific rules have been set in place to restrict altering of data.

Netflify CMS is used for management text content on the website, such as event information, news updates, FAQ content, and legal documents. For those that have access to the CMS (you must be invited by an admin), it can be accessed through the /admin path. Even if you do not have access to the CMS, you can still edit and create content in one of two ways:

  1. All the content is stored in the repo, inside the content folder. You can use the data there to copy files and use them as templates for new items, edit text, and other items.

  2. While the site is running locally, you can go to any page with content displaying from that content folder and double click it to edit the content. This is done through Nuxt Content, and an example of how that works can be found on their website.

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request into the dev branch

License

Distributed under the MIT License. See LICENSE for more information.

Acknowledgements