Giter VIP home page Giter VIP logo

bouquet's Introduction

bouQuet

About

BouQuet project is the group assessment of Advanced Internet Programming in Spring 2017 at UTS. BouQuet application is the HR agency web application where job seekers can post their resumes and employers can search the resumes of potential employees.

A bouQuet Online Example

https://aipbouquet.herokuapp.com/

Authors

This project is created by UTS students Roman and Ming.

Key Features

  • Sign in, Sign up, Sign out, Password Reset (Email)
    • Users need to create an account and log in to create their resume.
  • Create, View, Search, Edit and Delete
    • Registered users can create their resumes.
    • Administrator can edit and delete resumes.
    • Everyone can search for resumes.
  • The app is integrated with a Twitter.
    • The administrator can publish the links for the resumes on twitter account.

Installation instructions

To clone and run this application, you'll need Git and Node.js (which comes with npm) installed on your computer. You will also need to install and run a Mongo DB. From your command line:

# Go into the Mongodb installation bin folder
$ cd $mongodb_root_path/bin

# Run the Mongodb
$ ./mongod
# Clone the repository
$ git clone https://github.com/r0manski/bouquet.git

# Go into the repository
$ cd bouquet

# Install dependencies
$ npm install

# Run the app
$ npm start

For the sake of security in this project environment variables are stored in the .env. The following lines should be created for this file with your variables instead of "...". The * comments should be removed from the .env file.

//twitter developer's vars
  JWT_SECRET=...
  CONSUMER_KEY=...
  CONSUMER_SECRET=...
  ACCESS_TOKEN=...
  ACCESS_TOKEN_SECRET=...
//local DB
  DBURI_PROD=...
//production DB
  DBURI_LOC=...

API Docs

  • Get Resumes - [GET] (/api/resumes)
    • Return all saved resumes in json.
  • Get a Resume - [GET] (/api/resumes/:resumeid)
    • Get a resume based on resume id.
  • Create a Resume - [POST] (/api/resumes)
    • Create a resume from posted data.
  • Update a Resume - [PUT] (/api/resumes/:resumeid)
    • Update a resume based on resume id.
  • Delete a Resume - [DELETE] (/api/resumes/:resumeid)
    • Delete a resume based on resume id.
  • Search Resumes - [POST] (/api/resumes/search)
    • Search resumes from posted keyword.
  • Register a User - [POST] (/api/register)
    • Register a new user from posted data.
  • Sign in a User - [POST] (/api/login)
    • Sign in a existing user from posted data.
  • Send a Twitter - [POST] (/twitter/:resumeid)
    • Send a Twitter from posted data.
  • Send a Password Reset Email - [POST] (/forgot)
    • Semd a password reset email from posted email address.
  • Reset a password - [POST] (/reset/:token)
    • Reset a password based on token.

Coding Principals

  1. Validate the input data
  2. Handle error friendly
  3. Keep code readable
  4. Code should have minimal dependencies
  5. Proper indentation
  6. Declare a variable before using it
  7. Eliminate unnecessary resources/tags
  8. Follow name conventions (e.g. variable/object: changeColor, class/method: InputManager)
  9. Logical ordering
  10. Provide good documentation
  11. Provide good annotation
  12. Modular design
  13. Minimize coupling
  14. Do not repeat yourself (DRY)
  15. Password must be encrypted

Contributing

In general, we welcome anyone who can help us improve our code! You can follow the below steps to start:

  1. Fork the project first
  2. Clone the project to your own system
  3. Work on your fork
  4. Make your changes and comments
  5. Add changes to README.md if needed
  6. Commit changes to your own branch
  7. Make sure you merge the latest version from "upstream" and resolve any conflicts if there is
  8. Push your work back up to your fork
  9. Submit a Pull request so that we can review your changes

License

This project is licensed under the MIT License.

Acknowledgments

bouquet's People

Contributors

r0manski avatar porea avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.